Javascript 文件上载时的事件绑定
当用户选择要上载的文件并单击“打开”时,是否有方法绑定事件?我想在用户单击“打开”时触发事件Javascript 文件上载时的事件绑定,javascript,jquery,html,file-upload,Javascript,Jquery,Html,File Upload,当用户选择要上载的文件并单击“打开”时,是否有方法绑定事件?我想在用户单击“打开”时触发事件 在该场景中,将触发change事件 如果您有此HTML: <input type="file" id="fileInput" /> (可以选择使用addEventListener/attachEvent而不是设置onclick属性) 在处理程序内部,您可以使用this.value来选择文件 当然,使用jQuery,您可以使用: $(document).ready(function () {
在该场景中,将触发
change
事件
如果您有此HTML:
<input type="file" id="fileInput" />
(可以选择使用addEventListener
/attachEvent
而不是设置onclick
属性)
在处理程序内部,您可以使用this.value
来选择文件
当然,使用jQuery,您可以使用:
$(document).ready(function () {
$("#fileInput").on("change", function () {
// this.value OR $(this).val()
});
});
注意:窗口。onload和
$(文档)。ready
处理程序用于确保元素可用。当然,这个事件可能发生得比实际需要的时间晚得多,因为它们等待页面上的所有元素准备就绪(并且window.onload
等待图像之类的东西加载的时间更长)。一个选项是将onchange
处理程序立即绑定到页面上的元素之后或
的结尾处。在这种情况下,字段的更改事件应该触发,并且可以复制。选中此选项如果脚本放在页面末尾/输入元素之后,则不需要窗口的onload
包装=]
@Fabrício mattéTrue,但我不喜欢这样做,这基本上和在身体末端是一样的(window.onload与稍有不同,但仍然如此)。我觉得这个问题并不重要。尽管如此,我还是会在答案中补充一点。谢谢:)
$(document).ready(function () {
$("#fileInput").on("change", function () {
// this.value OR $(this).val()
});
});