如何在 jQuery 中使用事件侦听器使用 preventDefault 将数据保存在 textarea 中?

How do I save data in a textarea using preventDefault by using an event listener in jQuery?

提问人:Ryan Caltabiano 提问时间:9/28/2023 最后编辑:Ryan Caltabiano 更新时间:9/28/2023 访问量:38

问:

这里很新,所以对所有问题表示歉意。我正在制作一个调度程序,它使用 jQuery 保存不同时间段的笔记,但我遇到了一个障碍,我无法弄清楚如何让按钮从不同的元素保存数据。

HTML 示例

        <div id="17" class="times row time-block future">
          <div class="col-2 col-md-1 hour text-center py-3">5PM</div>
          <textarea class="col-8 col-md-10 description" rows="3"> </textarea>
          <button class="btn saveBtn col-2 col-md-1" aria-label="save">
            <i class="fas fa-save" aria-hidden="true"></i>
          </button>
        </div>

我一直在处理的 JavaScript 代码。

    $(".saveBtn").on("click", function() {
      var getId = $(this).parent().attr("id");
      var getText = $(this).siblings(".description").val();
      localStorage.setItem(getId, getText);
      console.log(getId, getText)
      preventDefault($(this).siblings(".description").val());
    });

我希望 preventDefault 将文本输入保留在 textarea 中,但不确定如何做到这一点。我希望它保存/仍然显示刷新信息。谢谢!

我还是新人,所以我还在学习一切是如何协同工作的。谢谢!

javascript jquery 函数 save preventdefault

评论

0赞 David 9/28/2023
这种用法是没有意义的。你到底想做什么?如果没有那行代码,你试图阻止什么?表单正在提交,而您不希望它提交?别的?preventDefault()
0赞 GetSet 9/28/2023
请参阅此处的 SO 以获取正确的方法:stackoverflow.com/questions/19948543/...

答:

1赞 user2314737 9/28/2023 #1

preventDefault是事件的方法,在代码中应使用:

$(".saveBtn").on("click", function(event) {
  ...
  event.preventDefault($(this).siblings(".description").val());
})

链接到文档)

$(".saveBtn").on("click", function(event) {
  var getId = $(this).parent().attr("id");
  var getText = $(this).siblings(".description").val();
  //localStorage.setItem(getId, getText);
  console.log(getId, getText)
  event.preventDefault($(this).siblings(".description").val());
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="17" class="times row time-block future">
  <div class="col-2 col-md-1 hour text-center py-3">5PM</div>
  <textarea class="col-8 col-md-10 description" rows="3"> </textarea>
  <button class="btn saveBtn col-2 col-md-1" aria-label="save">
            <i class="fas fa-save" aria-hidden="true"></i>
          </button>
</div>