我正在创建一个drop或click文件上传。我有一个问题处理点击和放大器之间的差异因为一个人使用addEventListener而另一个人使用普通的javascript方法。
HTML
<input id="imageLoader" type="file" name="imageLoader">
Javascript:
var imageLoader = document.getElementById('imageLoader');
/* console shows : ..change {
target: <input#imageLoader>,
isTrusted: true,
currentTarget: <input#imageLoader>,
eventPhas... }
*/
imageLoader.addEventListener('change', handleImage, false);
/* console shows : undefined */
imageLoader.onchange = function(){
handleImage();
};
function handleImage(e){
console.log(e);
}
如何使用其他方式显示与addeventlistener
方法相同的值?
答案 0 :(得分:2)
实际上addEventListener
接受一个回调函数,您可以在其中调用任何所需的代码。
因此,您不必直接将handleImage
函数作为回调传递,而是可以创建一个调用handleImage
函数的回调函数。
imageLoader.addEventListener('change', function(e){
//do whatever you want here
handleImage()
}, false);
要使用onchange
附加活动,您可以使用相同的方法:
imageLoader.onchange = function(event) {
//do whatever you want here
handleImage(event);
};