使用jquery的bind方法可以为一个对象的一个事件绑定绑定多个处理函数,甚至可以多次绑定一个方法,比如:
代码如下 | 复制代码 |
$(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元素的绑定事件:
代码如下 | 复制代码 |
$("p").unbind(); |
2.移除p元素绑定的click事件:
代码如下 | 复制代码 |
$("p").unbind("click"); $("p").unbind("click",funName); |
注意:unbind方法只适用于取消jquery绑定的事件,如果直接使用document.getElementById("btn").onclick=function{//code...}或<div onclick="alert('c')">test</div>,不能通过unbind方法取消(删除)。
移除标签方法
代码如下 | 复制代码 |
$("指定对象").remove();=>即可实现 $("#menuTree").unbind();//移除所有的绑定事件 $("#menuTree").attr("class","scroll org_tree white"); $("#menuTre ul").remove();//删除树 |
补充:
在jQuery下使用 $(selector).unbind(‘hover’)无效,可以使用如下方法代替:
代码如下 | 复制代码 |
$(selector).unbind(‘mouseenter’).unbind(‘mouseleave’); 或: $(selector).unbind(‘mouseenter mouseleave’); |
可以发现hover事件是由mouseenter和mouseleave组成,以区别mouseover和mouseout。
在unbind它的这两个事件后,不会对mouseover和mouseout事件造成影响。
时间: 2024-09-25 22:15:41