jQuery undelegate() 方法

  • 定义和用法

    undelegate() 方法移除一个或多个由 delegate() 方法添加的事件处理程序。
    自 jQuery 1.7 版本起,on()off() 方法是在元素上添加和移除事件处理程序的首选方法。
  • 语法

    $(selector).undelegate(selector,event,function)
  • 参数

    参数 描述
    selector 可选。规定需要删除事件处理程序的选择器。
    event 可选。规定需要删除处理函数的一个或多个事件类型。
    function 可选。规定要删除的具体事件处理函数。
  • 示例

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