我有以下行来向具有相同类的项目添加点击事件:
jQuery('.multi_image').click(function(){onMultiImageClicked(jQuery(this));});
我正在使用以下代码尝试取消绑定点击事件:
jQuery('.multi_image').unbind('click');
但是,解除绑定似乎没有任何效果。
是否可以从这样的一类对象中删除点击事件?
我有以下行来向具有相同类的项目添加点击事件:
jQuery('.multi_image').click(function(){onMultiImageClicked(jQuery(this));});
我正在使用以下代码尝试取消绑定点击事件:
jQuery('.multi_image').unbind('click');
但是,解除绑定似乎没有任何效果。
是否可以从这样的一类对象中删除点击事件?
.unbind('click')
必须工作......但我建议使用on
和off
功能:
改为使用on
和off
函数:
jQuery('.multi_image').on("click", function (){
onMultiImageClicked(jQuery(this));
});
和
jQuery('.multi_image').off("click");
从文档:
该
off()
方法删除了附加的事件处理程序.on()
。有关更多信息,请参阅该页面上对委托和直接绑定事件的讨论。通过提供事件名称、命名空间、选择器或处理函数名称的组合,可以在元素上删除特定的事件处理程序。当给定多个过滤参数时,提供的所有参数必须匹配才能删除事件处理程序。
来自 jQuery 文档
Event handlers attached with .bind() can be removed with .unbind().
由于您没有使用 bind(),这可能是这种行为的原因。在使用 unbind() 之前,尝试使用 on()、off() 或使用 bind() 来绑定点击处理程序。