And*_*y F 7 html checkbox jquery
这是我的HTML:
<input class='user_roles' id="chk" type=checkbox />
<input id="btn_on" type="button" value="on" />
<input id="btn_off" type="button" value="off" />
而我的jQuery:
$('#chk').click(function() {
if($(this).prop("checked") === true) {
alert ("checked");
}
else{
alert ("not checked");
}
});
$("[id$=btn_on]").click(function () {
$('#chk').click();
});
$("[id$=btn_off]").click(function () {
$('#chk').click();
});
Run Code Online (Sandbox Code Playgroud)
这里有一个工作的例子.
使用鼠标单击复选框时,会立即检查它 - 即警报显示"已选中".但是,当单击其中一个按钮(间接调用复选框上的单击方法)时,在单击代码运行之后才会单击该复选框.
要对此进行测试,请使用鼠标单击复选框几次,您将分别看到"已选中"和"未选中"警报.单击"开",您将看到警告"未选中",然后选中复选框.如果您再单击"关闭",您将看到"已选中",然后选中取消选中自己的复选框.
这种行为的原因是什么?在按照鼠标行为调用单击侦听器代码之前,如何确保复选框"检查"发生?