jQuery動態添加的元素綁定事件處理函數

有一段時間沒用jquery了,今天又碰到這個問題。當時是知道有livejquery可以解決。但是我並不喜歡爲了這個而另外加載一個。我當時的處理方法是在添加的時候手工綁定事件處理函數。不過新版的jquery已經添加了這個功能。我們已經不需要爲此煩惱了。

參考:http://api.jquery.com/live/

以前我們定義事件,比如爲元素定義單擊事件是這樣寫的:
  1. $('input').click(function () {

  2. //處理代碼

  3. });
複製代碼
  1. $('.clickme').bind('click', function() {
  2.   // Bound handler called.
  3. });
複製代碼
但是這隻能是對已經加載好的元素定義事件,那些後來添加插入的元素則需要另行綁定。即使你使用jquery的clone函數,它並不能將事件也複製(到目前爲止我還不清楚它是爲什麼這樣定義,是沒法複製還是刻意這麼處理,以防止出現某些異常,這還有待去分析一下jquery的源代碼)。

現在,使用live你可以輕鬆搞定,

$('.clickme').live('click', function() { // Live handler called. });這樣,你即使在後面動態插入的元素,也會被綁定事件,$('body').append('<div class="clickme">Another target</div>');轉自:http://blog.csdn.net/xinhaozheng/article/details/5862109
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章