奇怪的jQuery("复选框").Click().是(":checked")行为

dal*_*ard 4 jquery click checked

任何人都可以解释为什么在单击$(this).is(":checked")复选框时给出相反的结果而$("#test").click()不是手动点击或用document.getElementById("test").click()

编辑请求的行为在这里 - 谢谢:

http://jsfiddle.net/ub8Zk/4/

编辑2

这一直是我发疯,但我终于明白-在1.5.2版本的jQuery的事件处理程序change,当事件被激活click()方法被调用(如原生JS)!在以前的版本中不是这样.

看这里:

http://dl.dropbox.com/u/6996564/jquery_click_test/test-1.4.4.htm ... test-1.5.1.htm ... test-1.5.2.htm

有人可以帮我报告这个bug吗?

Bob*_*mer 5

click事件发生值更改之前,因此它获取值.单击的默认处理程序在您的单击事件之后发生并切换值.这就是它获得相反价值的原因.我认为文档点击功能正在做一些奇怪的事情(我不相信它,我会信任jQuery).

看看这个小提琴:http://jsfiddle.net/ub8Zk/4/