如何在addEventListener里传递参数(是一个函数)

如何在addEventListener里传递参数(是一个函数)?

百度了半天也没有找到合适的方法,只好来请教大家了


 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.

说明函数没有作为参数传进去的意思吗?

https://img2.mukewang.com/5c6ce258000167cd07280294.jpg

Helenr
浏览 447回答 1
1回答

蝴蝶不菲

这个原因是因为addEventListener这个操作绑定的响应函数的第一个参数默认就是event,你想要传递其他参数必须是在第二个位置上传递,而且你也没有必要把函数当做参数是使用啊,可以直接在点击事件的回调里面直接使用这个函数吧。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript