Paste_Image.png
Paste_Image.png
Paste_Image.png
今天在對接網站數據時,發現個bug,就是我動態添加的元素沒辦法直接使用它的事件;
點擊左邊的年份,切換具體的期數;
$(".menu-ul").empty();//清空該元素下面的子元素
for( var i = 1 ; i <= month; i ++ ){
var li = "<li value='"+i+"'>"+year+"年第"+i+"期</li>";
$(".menu-ul").append(li);//根據取得的year、month動態添加期數元素
}
然后點擊相應期數,顯示不同期數的內容;
$(".menu-ul li").click(function(){
//獲取相應的年份和期數,再通過ajax獲取數據,顯示數據
});
那么問題來了,我動態添加的元素(li)找不到click事件,去百度了下,找到了解決辦法,就是使用jquery的.on()函數:
on()支持直接在目標元素上綁定事件,也支持在目標元素的祖輩元素上委托綁定。在事件委托綁定模式下,即使是執行on()函數之后新添加的元素,只要它符合條件,綁定的事件處理函數也對其有效。
所以對自己的點擊事件代碼做了以下修改:
$(".menu-ul").on("click","li",function(){
//獲取相應的年份和期數,再通過ajax獲取數據,顯示數據
});