我有一个带手风琴的模态。页面上的每个图像都有一个锚标记,可以打开模态窗口。在模态中,手风琴有滑动开关,用户可以选择打开或关闭该图像的值。
在特定图像上更改一个输入后,会发生意外行为。我收到之前更改的输入值的值。
我希望看到每个图像都有自己的值,即特定于该图像的值。我不应该看到任何其他图像的值。另外,如果我将特定图像的值更改为 是的,我不希望看到任何其他图像的值设置为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);
});
});
答案 0 :(得分:1)
使用
$(".onoffswitch ").off("click").on("click", function(){
应该修复它。
你现在的方式,每次点击glyphicon标签,你只需继续为“onoffswitch”添加额外的事件处理程序,永远不会删除旧的。下次onoffswitch被点击时,它会运行 all 定义的事件处理程序。在元素上设置事件处理程序不会删除旧的事件处理程序(除非您正在运行IE6或其他东西),它会在现有的处理程序列表中添加一个额外的处理程序。
“off”方法删除元素上先前定义的事件处理程序。有关您可以传递的选项的详细信息,请参阅http://api.jquery.com/off/。