關于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參數