事件委托------取到新生成元素

事件委托,主要参照的原理是事件冒泡。原因是刚生成的元素无法获取到它。例如下边的例子,要取到新生成的元素,在点击新生的元素时,弹出对应的文本。


应采取事件监听,兼容IE做法如下

function addEvent(obj,fn,even,boolean){

       if(obj.addEventListener){
           obj.addEventListener(even,fn,boolean);
       }
       else{
           ev='on'+even;
           obj.attachEvent(ev,fn);
       }

}

先给父级元素添加事件,然后在父级元素中取到点击的新建子元素即可。

 addEvent(oDiv,function (ev) {
     var e=window.event||ev;
     if( e.srcElement.nodeName.toLowerCase()=="h1"){
         alert(ev.srcElement.innerHTML)
     }// IE支持e.srcElement
//    if(ev.target.nodeName.toLowerCase()=="h1")          火狐支持ev.target
 },"click")




猜你喜欢

转载自blog.csdn.net/anoddguy/article/details/80917600