【问题标题】:jQuery change doesn't fire in IE from expanded select扩展选择在 IE 中不会触发 jQuery 更改
【发布时间】:2012-03-30 11:23:59
【问题描述】:

http://jsfiddle.net/e3ZJa/9/

2 个小测试:

1)选择select(但不要展开),向下按回车,你会在所有浏览器中看到1和2(如果我错了请告诉我,我在IE和FF中测试过)

2)展开选择,上下选择选项,回车,在IE中只能看到2。为什么?我想看 1 2 我应该修改什么才能让它工作?我需要在选择更改时启动一项功能,在用户按下回车键时启动另一项功能。

统一更新: 关于我们项目中使用 1.4.2 的 jQuery 版本,看起来我们需要更新它,但我们需要重新测试所有项目

【问题讨论】:

  • 为我工作,它应该触发更改事件。 IE8
  • 你展开选择,上下选择新值,回车看看1和2?还是你只看到 2 个?
  • 当我在 IE8 中尝试您的第二次测试时,当我按下回车键时我得到 2,然后当我关闭控件时得到 1。似乎 IE 只是在失去焦点后才将其注册为已更改(大概是为了不发送垃圾邮件更改消息)
  • 这就是您使用的版本的工作方式,您会看到 2,如果您再次单击选择(不选择任何内容)并单击它,您会看到 keyup 被触发。如果您更新到 jQuery 1.7.1,您将看到两个事件都按您的意愿触发。
  • 是的,我看到了,我应该改变什么才能在第二次测试中看到 1 2?

标签: javascript jquery internet-explorer javascript-events


【解决方案1】:

这就是您使用的 1.4.4 版本的工作方式,您会看到 2,如果您再次单击选择(不选择任何内容)并单击它,您会看到触发键(测试用例中的 1)。这是在焦点更改时触发的。

如果您更新到 jQuery 1.7.1,您将看到这两个事件按您的意愿触发。

【讨论】:

    【解决方案2】:

    使用 Jquery 1.5.2 及更高版本在 IE7 中似乎可以正常工作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-10-12
      • 1970-01-01
      • 1970-01-01
      • 2023-03-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多