如何在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.
说明函数没有作为参数传进去的意思吗?
这个原因是因为
addEventListener
这个操作绑定的响应函数的第一个参数默认就是event
,你想要传递其他参数必须是在第二个位置上传递,而且你也没有必要把函数当做参数是使用啊,可以直接在点击事件的回调里面直接使用这个函数吧。