在 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()方法的基本用法。希望對你有所幫助!