代码如下:
$(":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事件才能够保证百分百获取正确值。
<!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>
试了试,没发现你说的现象,都正确