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