jQuery中delegate和on的用法與區別詳細解析

來源:互聯網
上載者:User

 本篇文章主要是對jQuery中delegate和on的用法與區別進行了詳細的介紹,需要的朋友可以過來參考下,希望對大家有所協助

在jQuery1.7中 .delegate()已被.on()取代。對於早期版本,它仍然使用事件委託的最有效手段。在事件綁定和委派,delegate()和on在一般情況下,這兩種方法是等效的。 .delegate() 指定的元素(屬於被選元素的子項目)添加一個或多個事件處理常式,並規定當這些事件發生時啟動並執行函數。  代碼如下:// jQuery 1.4.3+$( elements ).delegate( selector, events, data, handler );// jQuery 1.7+$( elements ).on( events, [selector], data, handler ); 例如:.delegate()  code: 代碼如下:$("table").delegate("td","click",function(){ alert("hello");}); .on()  code:代碼如下:$("table").on("click", "td", function() {        alert("hi");}); PS: 兩者區別是seleter和events順序不同delegate和on方法被選元素的子項目必須是"合法的"子項目。比如 複製代碼 代碼如下:$("table").delegate("button","click",function(){...});$("table").on("click", "p", function(){...}); 就不起作用,因為正常情況下,table子項目應為tr,td...  on(events,[selector],[data],fn),參數[selector]是可選,一個選取器字串用於過濾器的觸發事件的選取器元素的後代。例如:  代碼如下:$("table").on("click", ".td1", function() {       alert("hi");}); 過濾class為td1的table子項目 而delegate的selector是必需的。
相關文章

Beyond APAC's No.1 Cloud

19.6% IaaS Market Share in Asia Pacific - Gartner IT Service report, 2018

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。