delegate() jquery

jQuery中delegate()方法怎么使用

小亿
107
2023-08-10 05:38:24
栏目: 编程语言

在 jQuery 中,delegate()方法用于为一个元素或一组元素添加事件处理程序。它可以动态地将事件处理程序绑定到匹配选择器规定的子元素上,即使这些子元素在事件绑定时并不存在。

使用delegate()方法的基本语法如下:

$(selector).delegate(selector, eventType, handler);

其中:

$(selector):要绑定事件处理程序的父元素。

selector:指定要绑定事件处理程序的子元素的选择器。

eventType:指定要绑定的事件类型,例如 "click"、"mouseover" 等。

handler:事件处理程序的函数。

以下是一个示例,展示了如何使用delegate()方法来为一个按钮的父元素绑定点击事件处理程序,并通过事件委托来处理该按钮的点击事件:

<!DOCTYPE html>

<html>

<head>

  <title>Delegate Example</title>

  <script src="https://code.jquery.com/jquery-3.5.1.min.js"></script>

  <script>

    $(document).ready(function(){

      $("#parent").delegate("#btn", "click", function(){

        alert("Button clicked!");

      });

    });

  </script>

</head>

<body>

  <div id="parent">

    <button id="btn">Click me</button>

  </div>

</body>

</html>

在上面的示例中,当点击按钮时,弹出一个警告框显示 "Button clicked!"。此时,点击按钮会触发父元素上绑定的事件处理程序。

请注意,从 jQuery 3.0 开始,delegate()方法已被废弃,建议使用on()方法来代替。以下是相同示例的on()方法实现:

$(document).ready(function(){

  $("#parent").on("click", "#btn", function(){

    alert("Button clicked!");

  });

});

以上就是 delegate()方法的基本用法。希望对你有所帮助!



0
看了该问题的人还看了