jquery 新建的元素事件綁定問題上一篇 / 下一篇 2008-10-20 21:40:00 / 個人分類:jQuery demo:http://www./demo/jquery頁面加載完成后元素綁定事件.html 我想很多人都會向我一樣曾經 被新元素的事件綁定困惑很久也就是 js的事件監(jiān)聽跟css不一樣,css只要設定好了樣式,不論是原來就有的還是新添加的,都有一樣的表現(xiàn)。而事件監(jiān)聽不是,你必須給每一個元素單獨綁定事件。 常見的例子是處理表格的時候。每行行末有個刪除按鈕,點了這個能夠刪除這一行。 <table> <tbody> <tr> <td>這行原來就有</td> <td><buttonclass="del">刪除</button></td> </tr> <tr> <td>這行原來就有</td> <td><buttonclass="del">刪除</button></td> </tr> </tbody> </table> 通常,我會這么綁定
對于在domready之前就存在的刪除按鈕,一切都很完美。但如果在domready之后用js動態(tài)添加幾行,那新增的幾行中的這些按鈕都將失去任何作用。 如何解決這個問題?以下提供4種解決方案:
=============================
=============================
========================= 下 =================== demo:http://www./demo/jquery頁面加載完成后元素綁定事件.html 2號解決方案——事件冒泡法 利用事件冒泡的原理,我們給這個按鈕的祖先元素綁定事件處理函數(shù)。 然后通過event.target這個對象來判斷,這個事件是不是我們要找的對象觸發(fā)的。 通??梢岳靡恍〥OM屬性,比如event.target.className、event.target.tagName等之類的來判斷。
=============================
============================= 具體選用哪一個方案,沒有定數(shù)。具體看你的項目以及你js還有結構與行為分離的思想的掌握程度。最適合的才是最好的。 =============================
同樣,這段js也適用于如下的html結構
相關閱讀: |
|
來自: CevenCheng > 《jQuery》