自 jQuery 版本 1.7 起,on() 方法是 bind()、live() 和 delegate() 方法的新的替代品。
live() 方法在 jQuery 版本 1.7 中被廢棄,在版本 1.9 中被移除。
on()
on() 方法在被選元素及子元素上添加一個或多個事件處理程序。
使用 on() 方法添加的事件處理程序適用於當前及未來的元素(比如由腳本創建的新元素)。
如需移除事件處理程序,請使用off()方法。
如需添加只運行一次的事件然後移除,請使用one()方法。
$(selector).on(event,childSelector,data,function)
|
參數 |
描述 |
|
event |
必需。規定要從被選元素移除的一個或多個事件或命名空間。
|
|
childSelector |
可選。規定只能添加到指定的子元素上的事件處理程序 (且不是選擇器本身,比如已廢棄的 delegate() 方法)。 |
|
data |
可選。規定傳遞到函數的額外數據。 |
|
function |
可選。規定當事件發生時運行的函數。 |
delegate()
delegate() 方法為指定的元素(屬於被選元素的子元素)添加一個或多個事件處理程序,並規定當這些事件發生時運行的函數。
使用 delegate() 方法的事件處理程序適用於當前或未來的元素(比如由腳本創建的新元素)。
$(selector).delegate(childSelector,event,data,function)
|
參數 |
描述 |
|
childSelector |
必需。規定要添加事件處理程序的一個或多個子元素。 |
|
event |
必需。規定添加到元素的一個或多個事件。
|
|
data |
可選。規定傳遞到函數的額外數據。 |
|
function |
必需。規定當事件發生時運行的函數。 |
live() live() 方法在 jQuery 版本 1.7 中被廢棄,在版本 1.9 中被移除。
live() 方法為被選元素添加一個或多個事件處理程序,並規定當這些事件發生時運行的函數。
通過 live() 方法添加的事件處理程序適用於匹配選擇器的當前及未來的元素(比如由腳本創建的新元素)。如需移除事件處理程序,請使用die()方法。(die() 方法在 jQuery 版本 1.7 中被廢棄,在版本 1.9 中被移除。)
$(selector).live(event,data,function)
|
參數 |
描述 |
|
event |
必需。規定添加到元素的一個或多個事件。
|
|
data |
可選。規定傳遞到該函數的額外數據。 |
|
function |
必需。規定當事件發生時運行的函數。 |
bind()
bind() 方法向被選元素添加一個或多個事件處理程序,以及當事件發生時運行的函數。
$(selector).bind(event,data,function,map)
|
參數 |
描述 |
|
event |
必需。規定添加到元素的一個或多個事件。
|
|
data |
可選。規定傳遞到函數的額外數據。 |
|
function |
必需。規定當事件發生時運行的函數。 |
|
map |
規定事件映射 ({event:function, event:function, ...}),包含要添加到元素的一個或多個事件,以及當事件發生時運行的函數。 |