我接觸到一個有趣的問題與下面的代碼:複選框單擊事件的執行順序和渲染
<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
聽起來像手動點擊,複選框本身將呈現爲選中/取消選中,然後觸發點擊事件。
但是,對於代碼爲.click()
的JS代碼,情況並非如此。
我的猜測是對的嗎?有沒有我可以參考的幫助文件?
只是一個側面說明:現在jQuery達到了1.8.2。 – msanford
另一方面說明:''元素不應該包含內容(但大多數瀏覽器不會因爲關閉標籤而感到不安)。 – nnnnnn
無法使用jQuery 1.8.2重現該問題,[請參閱此小提琴](http://jsfiddle.net/EBFDU/)。 – Uooo