jquery unbind删除绑定事件
发布时间:2016-02-18, 14:17:26 分类:HTML | 编辑 off 网址 | 辅助
正文 1346字数 121,630阅读
本文章来给大家介绍在jquery使用bind绑定事件之后我们利用unbind进行删除绑定事件的方法举例,有需要了解的朋友可参考。使用jquery的bind方法可以为一个对象的一个事件绑定绑定多个处理函数,甚至可以多次绑定一个方法,比如:
$(xxx).bind(‘click’, fun1).bind(‘click’, fun2).bind(‘click’, fun1);
Run code
Cut to clipboard
而unbind用于删除绑定的方法,比如$(xxx).unbind(‘click’)
……
但是,如果只想删除fun2哪?以前看得很多jquery里都没有关于这种操作的介绍,所以自然就一直以为只能整个的将click处理调,今天试了另外一种操作:$(xxx).unbind(‘click’, fun2),可以解除fun2的绑定
住:$(xxx).unbind(‘click’, fun1),会将之前注册的两次fun1全部删除掉
删除绑定事件
1.移除所有p元素的绑定事件:
$("p").unbind();
Run code
Cut to clipboard
2.移除p元素绑定的click事件:
$("p").unbind("click");
$("p").unbind("click",funName);
Run code
Cut to clipboard
注意: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();//删除树
Run code
Cut to clipboard
补充:
在jQuery下使用 $(selector).unbind(‘hover’)无效,可以使用如下方法代替:
$(selector).unbind(‘mouseenter’).unbind(‘mouseleave’);
或:
$(selector).unbind(‘mouseenter mouseleave’);
Run code
Cut to clipboard
可以发现hover事件是由mouseenter和mouseleave组成,以区别mouseover和mouseout。
在unbind它的这两个事件后,不会对mouseover和mouseout事件造成影响。
(支付宝)给作者钱财以资鼓励 (微信)→
暂无评论 »