delegate定義和用法 delegate() 方法為指定的元素(屬於被選元素的子元素)添加一個或多個事件處理程序,並規定當這些事件發生時運行的函數。
使用 delegate() 方法的事件處理程序適用於目前或未來的元素(例如由腳本建立的新元素)。
参数 |
描述 |
childSelector |
必需。规定要附加事件处理程序的一个或多个子元素。 |
event |
必需。规定附加到元素的一个或多个事件。
由空格分隔多个事件值。必须是有效的事件。
|
data |
可选。规定传递到函数的额外数据。 |
function |
必需。规定当事件发生时运行的函数。 |
語法
$(selector).delegate(childSelector,event,data,function)
傳回值: jQuery delegate(selector,[type],[data], fn)
概述
指定的元素(屬於被選元素的子元素)增加一個或多個事件處理程序,並規定當這些事件發生時運行的函數。
參數
selector,[type],fnString,String,Function V1.4.2
selector:選擇器字串,用於過濾器觸發事件的元素。
type:附加到元素的一個或多個事件。由空格分隔多個事件值。必須是有效的事件。
fn:當事件發生時運行的函數
selector,[type],[data],fnString,String,Object,Function V1.4.2
selector:選擇器字串,用於過濾器觸發事件的元素。
type:附加到元素的一個或多個事件。由空格分隔多個事件值。必須是有效的事件。
data:傳遞到函數的額外資料
fn:當事件發生時運行的函數
selector,eventsString,String V1.4.3
selector:選擇器字串,用於過濾器觸發事件的元素。
events:一個或多個事件類型的字串和函數的資料映射來執行他們。
範例
描述:
點擊滑鼠時,隱藏或顯示p 元素:
HTML 程式碼:
複製程式碼
jQuery 程式碼:
複製程式碼
描述: delegate這個方法可作為live()方法的替代,使得每次事件綁定到特定的DOM元素。
以下兩段程式碼是等同的:
複製程式碼 程式碼如下: 程式碼如下: $🎜>$🎜>$ ("table").delegate("td", "hover", function(){ $(this).toggleClass("hover"); });$("table").each(function() { $("td", this).live("hover", function(){ $(this).toggleClass("hover"); }); });