off() 方法通常用于移除通过on()方法添加的事件处理程序。
自 jQuery 版本 1.7 起,off() 方法是 unbind()、die() 和 undelegate() 方法的新的代替品。该方法给 API 带来很多便利,我们推荐使用该方法,它简化了 jQuery 代码库。
若要附加仅运行一次然后将其自身删除的事件,请使用one()方法。
$(selector).off(event, selector, function)
从文档中删除mousemove事件:
$("button").click(function(){
$(document).off("mousemove");
});
测试看看‹/›从DIV元素中删除mousemove事件:
$("button").click(function(){
$("div").off("mousemove");
});
测试看看‹/›删除使用on()方法添加的所有<p>元素的所有click事件处理程序:
$("button").click(function(){
$("body").off("click", "p");
});
测试看看‹/›删除一个用on()方法添加的特定事件函数:
$("#btn1").click(function(){
$("p").off("click", changeSize);
});
测试看看‹/›从<div>元素中删除多个事件处理程序:
$("button").click(function(){
$("div").off("mouseenter mouseleave");
});
测试看看‹/›不带参数调用off()会删除所有附加到元素的处理程序:
$("button").click(function(){
$("div").off();
});
测试看看‹/›参数 | 描述 |
---|---|
event | 指定一个或多个以空格分隔的事件或名称空间,以从选定元素中删除 |
selector | (可选)在附加事件处理程序时,应该与最初传递给on()方法的选择器匹配的选择器 |
function | (可选)指定先前为事件附加的处理函数 |