【问题标题】:IE issue - jQuery .change() is not triggering callback when using checkbox/radio button?IE 问题 - 使用复选框/单选按钮时 jQuery .change() 没有触发回调?
【发布时间】:2013-09-04 02:57:08
【问题描述】:

我有一个包含多个输入的表单,无论是单选还是复选框。单击特定复选框/单选按钮后,它将触发其他某些复选框/单选按钮的“选中”。似乎在 IE 8-10 上,.change() 的回调仅在输入元素失去焦点时发生。

如何让它在检测到更改后立即触发回调?

也许我的 JS 方法出错了:

$(function() {
    $("#table_id input").change(function() {
        // do w/e stuff
        if (this_guy_is_checked) {
            check_this_other_guy();
        }
    });
});

【问题讨论】:

  • 使用点击绑定而不是更改绑定。在元素失去焦点之前不会注册更改。
  • 在 IE9 中看起来不错 jsfiddle.net/arunpjohny/ep8ng
  • @ArunPJohny 我的笔记本电脑上没有 ie9,我确信当我在 ie8-10 上测试时,它不会改变,直到元素失去焦点 =/
  • 你能检查一下附加的小提琴吗……浏览器控制台中是否打印了任何东西
  • @Robert 你应该写下答案,这样他就可以标记它,这不会出现在未回答的页面上

标签: javascript internet-explorer


【解决方案1】:

使用点击绑定而不是更改绑定。在元素失去焦点之前不会注册更改。 (在 IE 中)

$(element).click(function(){
   //do something
});

【讨论】:

    猜你喜欢
    • 2012-11-27
    • 1970-01-01
    • 1970-01-01
    • 2011-02-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-16
    • 2013-11-18
    相关资源
    最近更新 更多