unbind单击事件添加到类中

时间:2013-08-22 03:54:56

标签: jquery

我有以下行将click事件添加到具有相同类的项目:

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

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

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

然而,unbind似乎没有任何效果。

是否可以从像这样的对象类中删除click事件?

2 个答案:

答案 0 :(得分:2)

.unbind('click')必须有效...但我建议使用onoff函数:

使用onoff功能代替:

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

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

来自documentation

  

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

答案 1 :(得分:0)

来自jQuery docs

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

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