jQuery delegate() 方法

  • 定义和用法

    在 jQuery 3.0 版中不推荐使用 delegate() 方法。请改用 on() 方法。
    delegate() 方法为指定元素附加一个或多个事件处理程序,这些元素是所选元素的子元素,并指定在事件发生时要运行的函数。
    使用 delegate() 方法附加的事件处理程序将适用于 current 和 FUTURE 元素(如脚本创建的新元素)。
  • 语法

    $(selector).delegate(childSelector,event,data,function)
  • 参数

    参数 描述
    childSelector 必需。指定要将事件处理程序附加到的一个或多个子元素
    event
    必需。指定要附加到元素的一个或多个事件。
    多个事件值由空格分隔。 必须是有效的活动
    data 可选的。指定要传递给函数的其他数据
    function 必需,指定事件发生时要运行的函数
  • 示例

    下例演示了单击<div>元素中的<p>元素时,更改所有<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 () {
                $("div").delegate("p", "click", function(){
                    $("p").css("background-color", "pink");
                });
            });
       </script>
    </head>
    <body>
          <div>
              <p>这个是段落1</p>
              <p>这个是段落2</p>
              <p>这个是段落3</p>
              <p>这个是段落4</p>
              <p>这个是段落5</p>
          </div>
    </body>
    </html>
    
    尝试一下