奇怪的jQuery(“ checkbox”)。click()。is(“:checked”)行为

|| 谁能解释为什么用ѭ1来单击复选框而不是用手动或ѭ2来使ѭ0产生相反的结果? 编辑此处要求的行为-谢谢: http://jsfiddle.net/ub8Zk/4/ 编辑2 这让我发疯了,但我最终意识到-在jQuery 1.5.2版中,调用
click()
方法时(例如本机js),将触发
change
事件的事件处理程序!在以前的版本中不是这样。 看这里: http://dl.dropbox.com/u/6996564/jquery_click_test/test-1.4.4.htm ...测试1.5.1.htm ...测试1.5.2.htm 有人可以帮我报告此错误吗?     
已邀请:
单击事件在值更改之前发生,因此它正在获取旧值。单击的默认处理程序发生在单击事件之后并切换值。这就是为什么它获得相反的价值。我认为文档单击功能做的有些奇怪(我不相信,我相信jQuery)。 看看这个小提琴:http://jsfiddle.net/ub8Zk/4/     
由于您正在使用复选框输入,因此您希望“ 5”而不是“ 6”     
$(\'input#someCheckbox\').click(function() {
    if ($(this).is(\':checked\')) {
        // checked
    } else {
       // not checked
    };
});
    
我看不到您的代码。 click()根据文档将处理程序绑定到鼠标click事件。您也可以这样写:$(\'#foo \')。bind(\'click \',function(){   alert(\'用户单击了\“ foo。\” \'); }); 如果要触发,请使用如下所示的trigger()函数:$(\'foo \')。trigger(\'click \')或document.getElementById(\'foo \')。checked = true;使用纯正的javascript时。     

要回复问题请先登录注册