jQuery 1.4更改(),复选框和IE

时间:2010-06-30 02:11:49

标签: javascript jquery

我有一个页面,其中的复选框设置为在加载页面时检查。如果/当取消选中该复选框时,我需要运行一个函数。以下代码适用于除IE之外的所有浏览器。在版本7和8(甚至没有测试6)它工作但你需要取消选中它,检查它,然后在第二次取消选中它执行该功能。 jQuery文档指出:“从jQuery 1.4开始,更改事件现在起泡,并且在Internet Explorer中与所有其他浏览器完全相同”......但它似乎不起作用。有任何想法吗?

代码:

$('#checkbox').change(function() {
  // do something
});

2 个答案:

答案 0 :(得分:1)

如果要停止事件冒泡,请使用

$('#checkbox').change(function(event) { 
    event.stopPropagation();
    // do something 
});

也许你也可以做类似

的事情
if ($.browser.msie) {
    $('#checkbox').click(function() { // assuming this will be fired for keyboard as well

        $(this).change();
    });

};

可能强制执行此事件。

答案 1 :(得分:1)

升级到jQuery 1.4.2 +以解决此问题。 1.4.2 release包含several changes/fixes for events

这个change事件,change在IE中冒泡(很多人都很重要),还有更多内容在该版本中得到修复,升级将解决您的问题:)