首页 文章

如何处理addEventListener和attachEvent冲突?

提问于
浏览
1

我正在创建一个drop或click文件上传 . 我有一个问题是处理click和drop之间的区别,因为一个使用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 方法相同的值?

1 回答

  • 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); 
    };
    

相关问题