jquery unbind
jquery unbind一、语法
$(selector).unbind(event,function)
event:可选。规定删除元素的一个或多个事件,由空格分隔多个事件值。如果只规定了该参数,则会删除绑定到指定事件的所有函数。
function:可选。规定从元素的指定事件取消绑定的函数名。
unbind()函数的参数全是筛选条件,只有匹配所有参数条件的事件处理函数都将被移除。参数越多,限定条件就越多,被移除的范围就越小。
二、jquery unbind实例
<input id="btn1" type="button" value="点击1" />
<input id="btn2" type="button" value="点击2" />
<a id="a1" href="#">CodePlayer</a>
<script>
function btnClick1(){
alert( this.value + "-1" );
}
function btnClick2(){
alert( this.value + "-2" );
}
var $buttons = $(":button");
// 为所有button元素的click事件绑定事件处理函数btnClick1
$buttons.bind( "click", btnClick1 );
// 为所有button元素的click事件绑定事件处理函数btnClick2
$buttons.bind( "click", btnClick2 );
// 为所有a元素的click、mouseover、mouseleave事件绑定事件处理函数
$("a").bind( "click mouseover mouseleave", function(event){
if( event.type == "click" ){
alert("点击事件");
}else if( event.type == "mouseover" ){
$(this).css("color", "red");
}else{
$(this).css("color", "blue");
}
});
// 移除为所有button元素的click事件绑定的事件处理函数btnClick2
// 点击按钮,只执行btnClick1
$buttons.unbind("click", btnClick2);
// 移除为所有button元素的click事件绑定的所有事件处理函数(btnClick1和btnClick2)
// 点击按钮,不会执行任何事件处理函数
// $buttons.unbind("click");
// 只移除为btn1元素的click事件绑定的所有事件处理函数
// btn2元素的click事件仍然有效
// $("#btn1").unbind("click");
// 移除为所有a元素的任何事件绑定的所有处理函数
// 点击链接,或用鼠标在链接上移入、移出,都不会触发执行任何事件处理函数
// $("a").unbind( );
</script>
三、jquery unbind注意事项
1、移除所有p元素的绑定事件
$("p").unbind();
2、移除p元素绑定的click事件
$("p").unbind("click");
$("p").unbind("click",funName);
3、unbind方法只适用于取消jquery绑定的事件,如果直接使用document.getElementById("btn").onclick=function{}或<li onclick="alert('c')">test</li>,不能通过unbind方法取消(删除)
4、jQuery下使用 $(selector).unbind('hover')无效,可以使用如下方法代替
$(selector).unbind(‘mouseenter’).unbind(‘mouseleave’);
//或:
$(selector).unbind(‘mouseenter mouseleave’);