色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

jquery on 區(qū)別

老白2年前9瀏覽0評論

在日常開發(fā)中,經(jīng)常會用到j(luò)Query的on方法,但是很多人可能不太清楚on方法的用法和區(qū)別。下面就來詳細(xì)介紹一下。

首先,我們需要明白o(hù)n()方法和其他jQuery事件綁定方法(如click()和live())的區(qū)別:

$(element).click(function() {...})
$(element).live('click', function() {...})
$(element).on('click', function() {...})

以上三種方式都可以進(jìn)行點(diǎn)擊事件綁定。但是,click()和live()只能綁定在加載頁面時已經(jīng)存在的元素上,無法綁定在后期動態(tài)生成的元素上。而on()方法可以綁定在靜態(tài)元素上,也可以綁定在動態(tài)元素上。

下面,我們來看一下on()方法的幾個參數(shù)的意義:

$(element).on(eventName, child, data, function() {...})

其中:

  • element:用于綁定事件的元素,可以是已經(jīng)存在的元素,也可以是后期動態(tài)生成的元素。
  • eventName:需要綁定的事件名(例如:click、dbclick、keydown等等)。
  • child:指定一個可選的選擇器字符串來過濾已經(jīng)選擇的元素的子元素,代表只有子元素中觸發(fā)的事件才會執(zhí)行回調(diào)函數(shù),可以為null或空串表示沒有子元素觸發(fā)限制。
  • data:傳遞給事件的附加數(shù)據(jù)。這個參數(shù)直接傳遞到回調(diào)函數(shù)的event.data屬性上。這里可以防止與在其他地方為同一事件名稱注冊的事件沖突(具體可查閱官網(wǎng)on()文檔)。
  • function:事件觸發(fā)后的回調(diào)函數(shù)。

由于on()方法可以綁定在動態(tài)生成的元素上,因此它在頁面性能方面表現(xiàn)較好。所以,我們平時使用jQuery時,建議采用on()方法進(jìn)行事件綁定。

總結(jié)來說,on()方法是一個非常靈活的事件綁定工具,能夠解決click()和live()方法所不能解決的問題。同時,兼顧了加載速度和性能。如果你不了解jQuery的on()方法,那么你正在錯過一種非常強(qiáng)大的工具!