關于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)
2016-09-05
1,因為你要改變事件的屬性,說要要傳入參數e,不然你怎么知道事件是那個參數呢
2,兩種方式是一致的,第一種是DOM0的寫法,第二種是DOM2的寫法,不過addEventListener在老版本IE中不支持,需要用attachEvent,最新的IE11已經支持addEventListener。
2016-08-24
我認為,你的第二個問題中,兩段代碼的作用應該是一樣,他倆的區別應該在于,addEventListener()是添加事件的方法,而function是一個函數,只是用于傳參,不知道我理解的對不對
2016-08-01
你需要用到事件的事件對象(屬性和方法)的時候,例如IE的target,type,stopPropagation這些,就要引入event參數,第一個問題的第二段代碼沒有涉及 那些屬性和方法,所以不需要引入event參數