Javascript输入事件触发两次

时间:2019-07-12 08:02:18

标签: javascript jquery events event-handling dom-events

我想通过浏览器上传Excel文件,并且正在显示此文件。但是,有时会出现错误,我需要更改Excel文件中的某些列,并且我想上传相同的文件。该事件仅触发一次,因为文件名相同。我怎么解决这个问题?我想上传相同的文件,并且希望事件触发两次。

document.getElementById('upload').addEventListener('input', handleFileSelect, false);

var handleFileSelect = function(evt) {
  var files = evt.target.files; // FileList object
  var xl2json = new ExcelToJSON();
  xl2json.parseExcel(files[0]);
  console.log(evt)
};
<input id="upload" type=file  name="files[]">

我尝试了

$("#upload").unbind("input").bind("input",handleFileSelect)

document.getElementById('upload').addEventListener('change', handleFileSelect, false)

2 个答案:

答案 0 :(得分:1)

您应该使用 onChange 事件。

var el = document.getElementById('upload');
el.onchange = function() {
  // your code...
};

答案 1 :(得分:0)

我解决了这个问题。我将此代码添加到了函数中

ID  | Position
--------------
 1  |    0
 1  |    3
 1  |    5
 2  |    1
 2  |    2
 3  |    1
 3  |    5