jQuery off() 方法

  • 定义和用法

    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, ...}),包含要添加到元素的一个或多个事件,以及当事件发生时运行的函数。
  • 示例

    下例演示了移除所有<p>元素上的 click 事件:
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>欢迎来到菜鸟教程</title>
        //此版本是百度cdn 1.11.1,当然你可以使用更高的版本,从2.0版本以上的是不支持ie6-8的
        <script type="text/javascript" src="http://libs.baidu.com/jquery/1.11.1/jquery.min.js"></script>
        <script>
            $(document).ready(function () {
                $("p").on("click",function(){
                    $(this).css("background-color","red");
                });
                $("button").click(function(){
                    $("p").off("click");
                });
            });
        </script>
    </head>
    <body>
        <p>点击这个段落修改它的背景颜色。</p>
        <p>点击一下按钮再点击这个段落( click 事件被移除 )。</p>
        <button>移除 click 事件句柄</button>
    </body>
    </html>
    
    尝试一下