jquery - .change 在 IE9 中表现得很奇怪

标签 jquery forms internet-explorer-9 submit

所以我有一个像这样的表单提交设置

<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/

相关文章:

javascript - 如何在不触发错误的情况下检测 iframe 是否可访问?

javascript - 我如何在 JQuery 中解决这个问题?

php - 未执行自定义表单的 Silverstripe 3.1 操作

javascript - jQuery 延迟删除元素

javascript - 上滑下滑问题

javascript - 检测 IE9 中的 Javascript 加载事件

jquery - IE9 jquery ajax post请求随机导致错误请求(400),tomcat接收post参数为 'null'

css - 如何防止 JQueryUI 上下文菜单出现在 IE9 中加载到 IFrame 中的 PDF 下方

jQuery 选择器 : selecting the body tag of an iframe

javascript - 单击按钮时连续重复翻转动画?