javascript - 当先前的输入值发生更改时,如何仅获取当前输入的值?

标签 javascript jquery twitter-bootstrap

我有一个带有 Accordion 的模态。页面上的每个图像都有一个可以打开模态窗口的 anchor 标记。在模式内部, Accordion 具有滑动开关,用户可以在其中选择打开或关闭该图像的值。

在特定图像上的一个输入发生更改后,会发生不良行为。我也收到了之前更改的输入值的值。

我希望看到的是每个图像都有自己的值,即特定于该图像更改的值。我不应该看到任何其他图像的值。另外,如果我将特定图像的值更改为 true,我不想看到任何其他图像的该值设置为 true。我希望这一切都有道理。我对 JavaScript 不太了解,但我已尽力解释。

这就是 JavaScript 的样子

  $(".glyphicon-tags").on('click', function(){
    var iid = $(this).data('iid'); // this is the imageId

    $(".onoffswitch ").on("click", function(){
      var tid = $(this).data('tid'); // this is the tagId
      alert(iid + ' ' + tid);
    });
  });

最佳答案

使用

$(".onoffswitch ").off("click").on("click", function(){

应该修复它。

按照您现在的方式,每次单击 glyphicon-tags 时,您只需继续为“onoffswitch”添加额外的事件处理程序,而不会删除旧的事件处理程序。下次单击 onoffswitch 时,它将运行所有定义的事件处理程序。在元素上设置事件处理程序不会删除旧的事件处理程序(除非您运行 IE6 或其他版本),它会向现有的处理程序列表中添加一个额外的事件处理程序。

“off”方法删除元素上先前定义的事件处理程序。请参阅http://api.jquery.com/off/有关您可以传入的选项的更多详细信息等。

关于javascript - 当先前的输入值发生更改时,如何仅获取当前输入的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46892243/

相关文章:

twitter-bootstrap - Bootstrap 模式对话框,show.bs.modal 事件相关目标未定义。如何获得点击元素?

Javascript onmouseover 和 onmouseout

javascript - 对多个图像使用模糊图像加载

javascript - Bootstrap 下拉列表按钮作为表单元素

javascript - Knockout js - 确认后从列表中删除项目

jquery - 如何检查 jquery 中 div 的显示(无/ block )?

javascript - 在 Flask 中使用 make_response 将两个变量传递给 javascript

javascript - 使用 ember-intl 异步加载翻译

java - 从用脚本编写的网页将数据导入到 Excel

javascript - 使用 Ajax 和 Jquery 的 Codeigniter 分页无限滚动仅提供重复数据