为什么要使用这样的方法?
这是老师的代码
//事件绑定方法 function bind(el, eventType, callback){ if(typeof el.addEventListener === 'function'){ //标准事件绑定方法 el.addEventListener(eventType, callback, false); }else if(typeof el.attechEvent === 'function'){ //IE事件绑定方法 el.attachEvent('on' + eventType, callback); } } //鼠标悬停的处理函数 function mouseoverHandler(e){ var target = e.target || e.srcElement; var outer = document.getElementById('subject'); var list = outer.getElementsByTagName('li'); //清空所有LI元素的class for(var i = 0; i < list.length; i++){ list[i].className = ''; } //根据事件的冒泡原理,找到需要变更class 的LI元素 while(target.tagName != 'LI' || target.tagName == 'BODY'){ target = target.parentNode; } target.className = 'big'; }我的代码:
for(var i =0; i < list.length; i++){ list[i].onmouseenter=function(){ for(var i=0;i<list.length;i++){ list[i].className=""; } this.className="big"; } }疑问:为什么老师要使用事件监听的方法?
onmouseenter不是在这里更方便吗?
而且兼容各大浏览器包括IE5.5,并且不会发生冒泡事件。
谢谢回答!