jQuery off() 方法


实例

移除所有 <p> 元素上的 click 事件:

$("button").click(function(){
$("p").off("click");
});
运行一下 »

定义和用法

off() 方法通常用于移除通过 on() 方法添加的事件处理程序。

自 jQuery 版本 1.7 起,off() 方法是 unbind()、die() 和 undelegate() 方法的新的替代品。该方法给 API 带来很多便利,我们推荐使用该方法,它简化了 jQuery 代码库。

注意:如需移除指定的事件处理程序,当事件处理程序被添加时,选择器字符串必须匹配 on() 方法传递的参数。

提示:如需添加只运行一次的事件然后移除,请使用 one() 方法。

语法

$(selector).off(event,selector,function(eventObj),map)


参数描述
event必需。规定要从被选元素移除的一个或多个事件或命名空间。

由空格分隔多个事件值。必须是有效的事件。
selector可选。规定添加事件处理程序时最初传递给 on() 方法的选择器。
function(eventObj)可选。规定当事件发生时运行的函数。
map规定事件映射 ({event:function, event:function, ...}),包含要添加到元素的一个或多个事件,以及当事件发生时运行的函数。

在线实例

从 unbind() 改为 off()
如何使用 off() 来达到与 unbind() 相同的效果。

从 undelegate() 改为 off()
如何使用 off() 来达到与 undelegate() 相同的效果。

从 die() 改为 off()
如何使用 off() 来达到与 die() 相同的效果。

移除所有通过 on() 添加的 click 事件处理程序
如何移除所有通过 on() 方法添加到所有 <p> 元素上的 click 事件处理程序。

移除一个通过 on() 添加的指定的事件函数
如何移除一个通过 on() 方法添加的指定的函数。

移除使用 event 对象的事件处理程序
如何在事件触发某一确定次数后移除事件处理程序。