javascript - 文件上传事件绑定(bind)

标签 javascript jquery html file-upload

有没有办法在用户选择要上传的文件并点击“打开”时绑定(bind)一个事件,我想在用户点击打开时触发该事件。

enter image description here

最佳答案

在那种情况下,change事件将被触发。

如果你有这个 HTML:

<input type="file" id="fileInput" />

然后使用这个 JS:

window.onload = function () {
    document.getElementById("fileInput").onchange = function () {
        // this.value
    };
};

(可以选择使用 addEventListener/attachEvent 而不是设置 onclick 属性)

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

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

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

注意: window.onload$(document).ready处理程序用于确保元素可用。当然,此事件的发生可能比实际需要的晚得多,因为它们会等待页面上的所有元素都准备就绪(并且 window.onload 等待加载图像等内容的时间甚至更长)。一个选项是绑定(bind) onchange处理程序紧接在页面上的元素之后或 <body> 的末尾.

关于javascript - 文件上传事件绑定(bind),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15975210/

相关文章:

javascript - 画线使用相同的 y 值,在底部绘制线

javascript - 从 Angular 构建中删除代码

php - jQuery根据表单ID序列化表单更新MySQL?

javascript - 将 div 附加到网页 - 使用 ajax 发布数据

javascript - 最大化 Office Fabric UI 对话框

javascript - Create React App 中 Eject 做了什么?

javascript - 如何在不使用 Canvas 的情况下使用 HTML5 制作旋转字和旋转线?

javascript - 如何使用 JQuery 的 else/if 语句更改图像 src?

html - 响应式图像 css 没有响应

html - 为什么重新调整浏览器大小时此菜单项会消失?