首页 > 解决方案 > javascript .onchange 在 IE Edge 第一次点击时不起作用

问题描述

.onchange只在 IE Edge 中遇到了一些问题。

对于上传文件,我有这个 html:

<div id="drop_file_zone" ondrop="upload_file(event)" ondragover="return false">
    <div id="drag_upload_file">                                                                                                     
        <p>DROP FILE(S) HERE</p>
        <p>or</p>

        <p><input class="browse btn" type="button" value="Browse" onclick="file_explorer();"></p>
        <input type="file" id="selectfile" name="upload" multiple>

    </div>
</div>

的JavaScript:

var fileobj;

function file_explorer() {

    document.getElementById('selectfile').click();
    document.getElementById('selectfile').onchange = function() {
      for (var i=0; i< this.files.length;i++){ // multiple files uploading
        fileobj = document.getElementById('selectfile').files[i];
        ajax_file_upload(fileobj);
      }
    };

}

会发生什么:仅在 IE Edge 中,我第一次打开资源管理器并浏览文件时,该文件未“选中”。当我再次打开资源管理器并选择另一个文件时,该文件被选中。

演示: https ://jsfiddle.net/ayw104L7/1/

您可以看到 IE Edge 第一次没有给出警告“文件选择”

标签: javascriptjqueryonchange

解决方案


推荐阅读