文件上传时的事件绑定

Uff*_*ffo 5 html javascript jquery file-upload

有没有办法在用户选择要上传的文件并点击"打开"时绑定事件,我想在用户点击打开时触发事件.

在此输入图像描述

Ian*_*Ian 6

在那种情况下,change将触发该事件.

如果你有这个HTML:

<input type="file" id="fileInput" />
Run Code Online (Sandbox Code Playgroud)

然后使用这个JS:

window.onload = function () {
    document.getElementById("fileInput").onchange = function () {
        // this.value
    };
};
Run Code Online (Sandbox Code Playgroud)

(可以选择使用addEventListener/ attachEvent代替设置onclick属性)

在处理程序内部,您可以使用this.value选择文件.

当然,使用jQuery,您可以使用:

$(document).ready(function () {
    $("#fileInput").on("change", function () {
        // this.value OR $(this).val()
    });
});
Run Code Online (Sandbox Code Playgroud)

注:window.onload$(document).ready处理程序使用,以确保该元素是可用的.当然,这个事件可能比实际需要的时间晚得多,因为它们等待页面上的所有元素都准备就绪(window.onload等待加载图像之类的东西更长).一个选项是将onchange处理程序紧跟在页面上的元素之后或结尾处<body>.