我在下面的代码中遇到了一个有趣的问题:
<html>
<head>
<meta charset="UTF-8"/>
<script src="jquery-1.3.2.min.cache.js">
</script>
<script>
$(function(){
var c = function(){
console.log('checked:' + $('#test').attr('checked'));
};
$('#test').click(c);
});
</script>
</head>
<body>
<input id="test" type="checkbox" value="1">test
</input>
</body>
</html>
问题是当我手动单击复选框时,它将打印
checked:true
checked:false
checked:true
checked:false
....
但是如果我使用 js 代码触发点击事件,例如:
$('#test').click()
它会像这样打印
checked:false
checked:true
听起来像手动单击,复选框本身将呈现为选中/未选中,然后触发单击事件。
但是,对于 的 JS 代码.click()
,情况并非如此。
我的猜测对吗?有没有我可以参考的文档寻求帮助?