假如ul下面的li都绑定了点击事件,;;;createElement,就是创建了一个li。但是这个标签他不具备有点击事件,为什么呢?你们自己搜一搜。
搜索一下事件委托,可以通过事件冒泡到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();
}