我正在使用JavaScript函数,如下所示: -
function fileSelectHandler(e) {
fileDragHover(e);
// some more code
}
function init(){
fileselect.addEventListener("change", fileSelectHandler, false);
}
现在我想在侦听器函数中使用另一个参数。我知道我可以通过以下方式添加多个参数。
function init(){
fileselect.addEventListener("change", function(){
fileSelectHandler(a, b)
}, false);
}
但是如何以这种方式传递e
?
答案 0 :(得分:2)
喜欢这个
function init(){
fileselect.addEventListener("change", function(e){
fileSelectHandler(e,a,b);
}, false);
}
答案 1 :(得分:1)
Suren Srapyan是对的,你可以这样做:
function init(){
fileselect.addEventListener("change",
callback,
,false);
}
function callback() {
fileSelectHandler(arguments[0],a,b)
}
由于addEventListener的第二个参数是回调函数,当'更改'事件触发后,将使用如下参数调用回调函数:
callback(event);
答案 2 :(得分:1)
您可以使用Function.prototype.bind()
function fileSelectHandler(a, b, e) {
fileDragHover(e, a, b);
// some more code
}
fileselect.addEventListener("change"
, fileSelectHandler.bind(fileselect, a, b), false);