javascript - HTML5中输入文件的onchange事件后执行脚本

标签 javascript jquery html asynchronous promise

我想知道是否可以在输入文件的 onchange 事件完成后立即执行脚本?如果是这样,怎么办?

我对 promise 非常陌生,但我想知道这是否可以实现,特别是对于输入文件

<input type="file" id="myInput" multiple />
var inputControl = $('#myInput');
inputControl.on('change', function(e) { //Do something } ); //<--here call a script but only after onchanged finished 
//inputControl.on('change', function(e) { //Do something } ).then(function(){ alert('later'); })?

目的是创建添加到输入文件的文件集合,并在某个不同时刻显示该集合或对该集合执行其他操作。我想分离职责。

更新

我重新表述了我的问题,但我不知道是否应该删除这个问题并创建另一个问题或只是将其添加到此处。我将继续这里,如果管理员要求删除或创建另一个问题,我会这样做。

我的上述问题到目前为止却毫无结果。我想链接这个

<强> jsfiddle

var reader = new FileReader();

reader.onload = function(event) {	    
    alert(event.target.result);
}
.then(completeIntroduction); // <--- Here execute a script after the onload ended

reader.readAsText(new Blob(["hello "]));

function completeIntroduction(){
  alert("world");
}

最佳答案

这是您可以监听更改输入的方式

<input id="myInput" type="file">

<script src="https://code.jquery.com/jquery-3.1.0.min.js"></script>

<script>
var inputControl = $('#myInput');
inputControl.on('change', function(e) {
  alert(this.value);
});
inputControl.on('change', function(e) {
  setTimeout(function(obj)
  {
    alert(obj.value);
  },500, this);
});
</script>

关于javascript - HTML5中输入文件的onchange事件后执行脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39672250/

相关文章:

javascript - 如何获取jquery变量children?

html - CSS 没有正确格式化我的消息

html - CSS 下拉菜单

html - 我正在尝试使用 CSS3 Transitions 实现悬停效果

javascript - Bootstrap - 让元素在两列布局中显示为 block ,而不是分成两列

javascript - 使用 JavaScript 将数据写入 CSV 文件

javascript - 拖动和交换列表元素

javascript - 如何防止在呈现页面后更改正则表达式字符?

Jquery砌体: Incorrect gutters until window is resized

Javascript 检查 Web 服务器 HTTP 状态代码