鍍金池/ 問答/HTML/ 如何在addEventListener里傳遞參數(shù)(是一個函數(shù))

如何在addEventListener里傳遞參數(shù)(是一個函數(shù))

如何在addEventListener里傳遞參數(shù)(是一個函數(shù))?
百度了半天也沒有找到合適的方法,只好來請教大家了

 function bandle(fn){
     var  newnode=doc.createElement('li');
     var val=ipt.value;
     newnode.innerHTML=val;
     if(val==""){
           alert("格式錯誤,請輸入正確的字符!")  
     }
     else{
        fn();
     }
}

function leftEn(){
    ullist.insertBefore(newnode,ullist.childNodes[0]);
}
        
leftEnter.addEventListener("click",function(){
     bandle(leftEn);
});
   

報錯信息是

fn is not a function
   at bandle (enter.html:66)
   at HTMLButtonElement.

說明函數(shù)沒有作為參數(shù)傳進去的意思嗎?

圖片描述

回答
編輯回答
呆萌傻

clipboard.png
把這個參數(shù)去掉

2018年2月23日 15:28
編輯回答
爆扎

leftEn為啥要當(dāng)傳參用?直接在bandle里面調(diào)用不可以嗎

2017年10月21日 10:38
編輯回答
薔薇花

這個原因是因為addEventListener這個操作綁定的響應(yīng)函數(shù)的第一個參數(shù)默認就是event,你想要傳遞其他參數(shù)必須是在第二個位置上傳遞,而且你也沒有必要把函數(shù)當(dāng)做參數(shù)是使用啊,可以直接在點擊事件的回調(diào)里面直接使用這個函數(shù)吧。

2017年12月2日 20:15
編輯回答
柚稚
leftEnter.addEventListener("click",function(){ bandle(leftEn); });
2017年12月30日 17:25