javascript事件委托的用法及其好处简析
本文为大家简单介绍了javascript事件委托的用法及其好处,供大家参考,具体内容如下
事件委托:利用冒泡的原理,把事件加到父级上,触发执行效果,
好处:提高性能,新添加的元素还会有之前的事件。
event对象:事件源,不管在哪个事件中,只要你操作的那个元素就是事件源
获取事件源:
IE:window.event.srcElement
标准下:event.target target.nodeName来判断是哪个标签
代码应用如下:
<!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <htmlxmlns="http://www.w3.org/1999/xhtml"> <head> <style> </style> <metahttp-equiv="Content-Type"content="text/html;charset=utf-8"/> <title></title> <scripttype="text/javascript"> window.onload=function() { varoUl=document.getElementById('ul1'); varoBtn=document.getElementById('btn1'); variNow=5; //事件源的方法依然保留父级事件! oUl.onmouseover=function(ev) { varev=ev||window.event; vartarget=ev.target||ev.srcElement; if(target.nodeName.toLowerCase()=='li') { target.style.background='red'; } } oUl.onmouseout=function(ev) { varev=ev||window.event; vartarget=ev.target||ev.srcElement; if(target.nodeName.toLowerCase()=='li') { target.style.background=''; } } oBtn.onclick=function() { iNow++; varoLi=document.createElement('li'); oLi.innerHTML=111*iNow; oUl.appendChild(oLi); } } </script> </head> <body> <inputtype="button"value="添加"id='btn1'> <ulid='ul1'> <li>11111</li> <li>22222</li> <li>3333333</li> <li>44444444</li> <li>66666666</li> </ul> </body> </html>
以上就是本文的全部内容,希望对大家的学习有所帮助。