我有一个ID为myopt的复选框,并且有一个如下所示的click事件处理程序;
$("#globalBody").on("click", "#myopt", function (event) {
if ($(this).prop("checked")) {
// do something
} else {
// do something
}
});
现在在我的代码中
$("#myopt").attr("checked",true);
我的问题是,这不会触发上面的click事件处理程序。如果我手动单击复选框,它将被调用。
有什么问题?
最佳答案
您需要使用 .trigger()
以编程方式调用点击处理程序
脚本
$("#myopt").prop("checked",true).trigger('click');
注意:我建议您使用
change
事件$("#globalBody").on("change", "#myopt", function (event) {
if (this.checked) {
// do something
} else {
// do something
}
});
//Change
$("#myopt").prop("checked",true).trigger('change');
关于javascript - 复选框点击事件未在选中时触发,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30481235/