jQuery off() 方法

实例

删除所有 <p> 元素的单击事件:

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <script src="https://libs.baidu.com/jquery/2.1.4/jquery.min.js"></script>
  5. <script>
  6. $(document).ready(function(){
  7. $("p").on("click", function(){
  8. $(this).css("background-color", "pink");
  9. });
  10. $("button").click(function(){
  11. $("p").off("click");
  12. });
  13. });
  14. </script>
  15. </head>
  16. <body>
  17. <p>单击此段落可更改其背景色。</p>
  18. <p>单击下面的按钮,然后单击此段落(click 事件将被删除)。</p>
  19. <button>删除 click 事件处理程序</button>
  20. </body>
  21. </html>

定义与用法

off() 方法最常用于删除与 on() 方法连接的事件处理程序。

从 jQuery 1.7 版开始,off() 方法是 unbind()die()undelegate() 方法的新替代方法。这种方法为 API 带来了很多一致性,我们建议您使用这种方法,因为它简化了 jQuery 代码库。

注意:要删除特定的事件处理程序,选择器字符串必须与附加事件处理程序时传递给 on() 方法的字符串相匹配。

提示: 要附加一个只运行一次的事件,然后将其自身删除,请使用 one() 方法。


语法

  1. $(selector).off(event,selector,function(eventObj),map)
参数描述
event必填。指定要从所选元素中删除的一个或多个事件或名称空间。
多个事件值由一个空格分隔。必须是有效的事件
selector可选。一个选择器,它应该与附加事件处理程序时最初传递给 on() 方法的选择器相匹配
function(eventObj)可选。 指定事件发生时要运行的函数
map指定事件映射 ({event:function, event:function, …}) 包含要附加到元素的一个或多个事件,以及事件发生时要运行的函数

更多实例

删除所有由 on() 方法添加的点击事件处理

删除一个指定的由 on() 方法添加的点击事件处理

使用事件对象删除事件处理程序

分类导航