課程
/前端開發
/JavaScript
/JavaScript進階篇
假如ul下面的li都綁定了點擊事件,;;;createElement,就是創建了一個li。但是這個標簽他不具備有點擊事件,為什么呢?你們自己搜一搜。
2017-03-04
源自:JavaScript進階篇 9-12
正在回答
搜索一下事件委托,可以通過事件冒泡到ul元素,避免這種情況
function?addClick(){ ???? var?ul?=document.getElementsByTagName('ul')[0]; ???? var?lis?=?document.getElementsByTagName('li'); ???? var?btn=document.getElementsByTagName('button')[0]; ???? /*for(var?i=0;i<lis.length;i++){ ???? lis[i].onclick=function(){ ???? alert("我是土著li"); ???? } ???? }*/ ???? btn.onclick=function(){ ???? for(var?j=0;j<4;j++){ ???? var?newLi?=?document.createElement("li"); ???? var?newLi_text=document.createTextNode("我是移民li"); ???? newLi.appendChild(newLi_text); ???? ????ul.appendChild(newLi); ???? } ???? } ????} //普通的事件綁定,沒有辦法為新創建的元素綁定事件。所以我們要使用冒泡的特性,事件委托! //事件委托:將li的事件委托給ul來執行 ????function?weituo(){ ???? var?ul?=document.getElementsByTagName('ul')[0]; ???? ul.onclick=function(event){ ???? //獲取事件觸動的時候傳遞過來的值 ???? event=event||window.event; ???? var?aaa=event.target?event.target:event.srcElement; ???? //判斷標簽名,如果是li標簽彈窗 ???? if(aaa.tagName==="LI"){ ???? alert("我是li"); ???? } ???? } ????} ????window.onload=function(){ ???? addClick(); ???? weituo(); ????}
舉報
本課程從如何插入JS代碼開始,帶您進入網頁動態交互世界
2 回答JS進階篇9-4任務3,自己做了個小拓展,雖然功能實現但卻會報錯
4 回答var scoreStr = "小明:87;小花:81;小紅:97;小天:76;小張:74;小小:94;小西:90;小伍:76;小迪:64;小曼:76";
2 回答一個小小的問題.....
5 回答小明與小紅的問題
1 回答小小實現代碼
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2017-03-05
搜索一下事件委托,可以通過事件冒泡到ul元素,避免這種情況