所以我有一个像这样的表单提交设置
<button>edit a photo</button>
<form style="visibility: hidden;">
<input type="file" id="file" name="file" val=""/>
<input type="submit" name="submit">
</form>
我的 JavaScript 看起来像这样
$("#edit-button").click(function() {
$("#file").click();
});
$("#file").change(function() {
//submit form
});
起初我以为 IE9 可能无法识别来自 Jquery 的 .change 事件,但是我注意到,如果取消隐藏我的表单并直接单击它,则会触发更改功能。如果我使用编辑按钮激活浏览,那么即使更改了 .change 也不起作用。
我猜当我单击文件输入的“浏览”按钮时,它不会像 $("#file").click() 那样被读取。有谁知道解决这个问题的方法吗?
最佳答案
我猜测发生这种情况是因为您的处理程序没有绑定(bind)到不可见的表单(有时就是这种情况)。
尝试:
// document or some other container
$(document).on("change", "#file", function () {
//submit form
});
关于jquery - .change 在 IE9 中表现得很奇怪,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8827137/