为了账号安全,请及时绑定邮箱和手机立即绑定

关于addEventListener和function(event)的问题

首先一个问题是function(event)在什么时候用到

例如:

loginState.onclick=function(e){
   	 e = e || window.event;
     if(e.stopPropagation){
          e.stopPropagation();
     }else{
          e.cancelBubble=true;
     }
   	 stateList.style.display='block';
   }

这一段代码中用到了,然而在这段代码中并没有用到。

lis[i].onmouseout=function(){
      	this.style.background='#FFF';
      }

第二个问题是:addEventListener和function(event)有什么关系

例如

loginState.onclick=function(e){
   	 e = e || window.event;
     if(e.stopPropagation){
          e.stopPropagation();
     }else{
          e.cancelBubble=true;
     }
   	 stateList.style.display='block';
   }

这一段和下面的一段是不是作用一致

loginState.addEventListener('click',function(){
    
    if(loginState.stopPropagation){
          loginState.stopPropagation();
     }else{
          loginState.cancelBubble=true;
     }
     stateList.style.display='block';

   },false)


正在回答

3 回答

1,因为你要改变事件的属性,说要要传入参数e,不然你怎么知道事件是那个参数呢

2,两种方式是一致的,第一种是DOM0的写法,第二种是DOM2的写法,不过addEventListener在老版本IE中不支持,需要用attachEvent,最新的IE11已经支持addEventListener。

0 回复 有任何疑惑可以回复我~

我认为,你的第二个问题中,两段代码的作用应该是一样,他俩的区别应该在于,addEventListener()是添加事件的方法,而function是一个函数,只是用于传参,不知道我理解的对不对

0 回复 有任何疑惑可以回复我~

你需要用到事件的事件对象(属性和方法)的时候,例如IE的target,type,stopPropagation这些,就要引入event参数,第一个问题的第二段代码没有涉及 那些属性和方法,所以不需要引入event参数

1 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

关于addEventListener和function(event)的问题

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信