我这样做:
$("input[type='checkbox']").each(function() {
var current = $(this);
$("label[for='" + current.attr("id") + "']").on('click', function() {
current.change();
alert('1');
});
});
$("input[type='checkbox']").on("change", function() {
alert('2');
});
现在,当我单击标签时,复选框第一个 alert(1) 显示一次,但第二个 (2) 显示两次。你能告诉我为什么吗?(复选框被隐藏,似乎更改以某种方式发生了两次)