0

我有以下行来向具有相同类的项目添加点击事件:

jQuery('.multi_image').click(function(){onMultiImageClicked(jQuery(this));});

我正在使用以下代码尝试取消绑定点击事件:

jQuery('.multi_image').unbind('click');

但是,解除绑定似乎没有任何效果。

是否可以从这样的一类对象中删除点击事件?

4

2 回答 2

2

.unbind('click')必须工作......但我建议使用onoff功能:

改为使用onoff函数:

jQuery('.multi_image').on("click", function (){
   onMultiImageClicked(jQuery(this));
});

jQuery('.multi_image').off("click");

文档

off()方法删除了附加的事件处理程序.on()。有关更多信息,请参阅该页面上对委托和直接绑定事件的讨论。通过提供事件名称、命名空间、选择器或处理函数名称的组合,可以在元素上删除特定的事件处理程序。当给定多个过滤参数时,提供的所有参数必须匹配才能删除事件处理程序。

于 2013-08-22T03:57:00.300 回答
0

来自 jQuery 文档

Event handlers attached with .bind() can be removed with .unbind().

由于您没有使用 bind(),这可能是这种行为的原因。在使用 unbind() 之前,尝试使用 on()、off() 或使用 bind() 来绑定点击处理程序。

于 2013-08-22T03:58:27.770 回答