jquery - 奇怪的 jQuery ("checkbox").click().is (":checked") 行为

标签 jquery click checked

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

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

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

编辑2

这让我抓狂,但我终于意识到——在 jQuery 1.5.2 版本中,当 click() 时,会触发 change 事件的事件处理程序方法被调用(就像原生js一样)!以前的版本并非如此。

看这里:

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

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

最佳答案

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

看看这个 fiddle :http://jsfiddle.net/ub8Zk/4/

关于jquery - 奇怪的 jQuery ("checkbox").click().is (":checked") 行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5670411/

相关文章:

wpf按钮点击

javascript - 如何在使用 jQuery 单击一个主体后停止动画

javascript - Dojo ToggleButton 检查图标未更新

带点符号的 jQuery 多重选择器?

jquery - 在 Silverstripe 3 中加载带有滑动动画的新页面(使用 Ajax?)

jquery - id 选择器在 jQuery 中不起作用

C#:如何声明一个已检查的 switch-expression-bodyed 函数?

javascript - 如果选中两个单选按钮,请将 css 添加到 div

javascript - Rails 技术在重定向后执行 javascript

javascript - 如何使用 jQuery 异步上传文件?