我有一个带有 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/