本文章来给大家介绍在jquery使用bind绑定事件之后我们利用unbind进行删除绑定事件的方法举例,有需要了解的朋友可参考。

使用jquery的bind方法可以为一个对象的一个事件绑定绑定多个处理函数,甚至可以多次绑定一个方法,比如:

代码片段
1 行
$(xxx).bind(‘click’, fun1).bind(‘click’, fun2).bind(‘click’, fun1);

而unbind用于删除绑定的方法,比如$(xxx).unbind(‘click’)

……

但是,如果只想删除fun2哪?以前看得很多jquery里都没有关于这种操作的介绍,所以自然就一直以为只能整个的将click处理调,今天试了另外一种操作:$(xxx).unbind(‘click’, fun2),可以解除fun2的绑定

住:$(xxx).unbind(‘click’, fun1),会将之前注册的两次fun1全部删除掉

删除绑定事件

1.移除所有p元素的绑定事件:

代码片段
1 行
$("p").unbind();

2.移除p元素绑定的click事件:

代码片段
2 行
$("p").unbind("click");
$("p").unbind("click",funName);

注意:unbind方法只适用于取消jquery绑定的事件,如果直接使用document.getElementById("btn").onclick=function{//code...}或<div onclick="alert('c')">test</div>,不能通过unbind方法取消(删除)。

移除标签方法

JavaScript
4 行
$("指定对象").remove();=>即可实现  
$("#menuTree").unbind();//移除所有的绑定事件  
 $("#menuTree").attr("class","scroll org_tree white");  
 $("#menuTre ul").remove();//删除树 

补充:

在jQuery下使用 $(selector).unbind(‘hover’)无效,可以使用如下方法代替:

代码片段
3 行
$(selector).unbind(‘mouseenter’).unbind(‘mouseleave’);
或:
$(selector).unbind(‘mouseenter mouseleave’);

可以发现hover事件是由mouseenter和mouseleave组成,以区别mouseover和mouseout。
在unbind它的这两个事件后,不会对mouseover和mouseout事件造成影响。