w3c给出的解释是:
1、unbind() 方法移除被选元素的事件处理程序。
2、该方法能够移除所有的或被选的事件处理程序,或者当事件发生时终止指定函数的运行。
3、unbind() 适用于任何通过 jQuery 附加的事件处理程序。
其中第3点,“适用于”确切得说应该是“适用且只适用于”。而且这里的通过jq附加的事件处理程序,指的是通过event(function)或者bind(event,function)添加的事件,对于标签中的内联事件是不起作用的。可以用以下代码进行测试:
<html>
<head>
<script type="text/javascript" src="/jquery/jquery.js"></script>
<script type="text/javascript">
/*function ffn(){
$('p').css('color','red');
}*/
$(document).ready(function(){
$('p').mouseover(function(){
$('p').css('color','red');
});
$("p").bind("click",function(){
alert(1);
});
$("button").click(function(){
$("p").unbind('mouseover');
});
});
</script>
</head>
<body>
<p>这是一个段落。</p>
<p>这是另一个段落。</p>
<p οnmοuseοver="ffn()" style="color:green">点击任何段落可以令其消失。包括本段落。</p>
<button>删除 p 元素的事件处理器</button>
</body>
</html>
1、unbind() 方法移除被选元素的事件处理程序。
2、该方法能够移除所有的或被选的事件处理程序,或者当事件发生时终止指定函数的运行。
3、unbind() 适用于任何通过 jQuery 附加的事件处理程序。
其中第3点,“适用于”确切得说应该是“适用且只适用于”。而且这里的通过jq附加的事件处理程序,指的是通过event(function)或者bind(event,function)添加的事件,对于标签中的内联事件是不起作用的。可以用以下代码进行测试:
<html>
<head>
<script type="text/javascript" src="/jquery/jquery.js"></script>
<script type="text/javascript">
/*function ffn(){
$('p').css('color','red');
}*/
$(document).ready(function(){
$('p').mouseover(function(){
$('p').css('color','red');
});
$("p").bind("click",function(){
alert(1);
});
$("button").click(function(){
$("p").unbind('mouseover');
});
});
</script>
</head>
<body>
<p>这是一个段落。</p>
<p>这是另一个段落。</p>
<p οnmοuseοver="ffn()" style="color:green">点击任何段落可以令其消失。包括本段落。</p>
<button>删除 p 元素的事件处理器</button>
</body>
</html>