jQuery off() 方法

jQuery 事件

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(可选)指定先前为事件附加的处理函数

jQuery 事件