Код ниже не работает в том же поведении. Последовательность событий click и вызова foo () отличается. Я хочу знать, почему они ведут себя по-разному между вызовом click () и повторением объектов перед вызовом click () для каждого.
<script type="text/javascript">
function foo(obj){
alert(obj.id+" ->"+obj.checked);
}
function clickAll(val){
if (val) {
$(":checkbox").click();
} else {
$(":checkbox").each(function(i,obj){
obj.click();
});
}
}
</script>
</head>
<body>
<input type="checkbox" id="check1" onclick="foo(this)" /> a
<input type="checkbox" id="check2" onclick="foo(this)" /> b
<input type="checkbox" id="check3" onclick="foo(this)" /> c
<input type="button" onclick="clickAll(true)" value="click all" />
<input type="button" onclick="clickAll(false)" value="click all each" />
</body>