2 saturn4711 saturn4711 于 2015.07.24 14:57 提问

为何jQuery判断已选中的checkbox,Chrome获取的值永远是false而IE是true?

代码如下:

                $(":checkbox").on("blur", function () {
                    console.log($(this).prop("checked"));
                    console.log(this.checked);
}

在chrome中输出为:false false
而在IE控制台的输出为:true true

……一口老血

求问这究竟是为何??

感谢 daniellinbiti 的回答。已经找到问题所在了,就在于on绑定的是blur状态而不是change状态。这段代码一开始编写测试的时候也是正常的,后来别人运行的时候出了问题,我再测试就发现了这个问题。

结果就是chrome必须要绑定change事件才能够保证百分百获取正确值。

1个回答

danielinbiti
danielinbiti   Ds   Rxr 2015.07.24 15:09
 <!DOCTYPE html>
<html>
<head>
<script src="/jquery/jquery-1.11.1.min.js">
</script>
<script>
</script>
</head>
<body>
<input type="checkbox" id='btn'/>
</body>
<script>
$(':checkbox').on("blur", function () {
                    console.log($(this).prop("checked"));
                    console.log(this.checked);
                                        });
</script>
</html>
试了试,没发现你说的现象,都正确
danielinbiti
danielinbiti 回复saturn4711: 找到问题就好
2 年多之前 回复
saturn4711
saturn4711 感谢回答。不过自己已经测试出来了,chrome必须绑定change事件才能保证百分百获取正确值。这段代码当时编写的时候也是运行正常的,后来别人运行的时候就突然出现了问题。
2 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片