jQuery unbind() 方法

  • 定义和用法

    unbind() 方法移除被选元素的事件处理程序。
    该方法能够移除所有的或被选的事件处理程序,或者当事件发生时终止指定函数的运行。
    该方法也可以通过 event 对象取消绑定的事件处理程序。该方法也用于对自身内部的事件取消绑定(比如当事件已被触发一定次数之后,删除事件处理程序)。
    注意:如果未规定参数,则 unbind() 方法会删除指定元素的所有事件处理程序。
    注意:unbind() 方法适用于任意由 jQuery 添加的事件处理程序。
    自 jQuery 1.7 版本起,on()off() 方法是在元素上添加和移除事件处理程序的首选方法。
  • 语法

    $(selector).unbind(event,function,eventObj)
  • 参数

    参数 描述
    event
    可选。规定一个或多个要从元素上移除的事件。
    由空格分隔多个事件值。
    如果只规定了该参数,则会删除绑定到指定事件的所有函数。
    function 可选。规定从元素上指定事件取消绑定的函数名称。
    eventObj 可选。规定要使用的移除的 event 对象。这个 eventObj 参数来自事件绑定函数。
  • 示例

    下例演示了移除所有<p>元素的事件处理程序:
    <!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").click(function(){
                    $(this).slideToggle();
                });
                $("button").click(function(){
                    $("p").unbind();
                });
            });
        </script>
    </head>
    <body>
            <p>这是一个段落。</p>
            <p>这是另外一个段落。</p>
            <p>点击任意段落(p 元素),该段落就会消失。</p>
            <button>点击移除所有段落(p 元素)的事件句柄</button>     
    </body>
    </html>
    
    尝试一下