我有一个 id 为 myopt 的复选框,我有一个点击事件处理程序,如下所示;
$("#globalBody").on("click", "#myopt", function (event) {
if ($(this).prop("checked")) {
// do something
} else {
// do something
}
});
现在在我的代码中,我做
$("#myopt").attr("checked",true);
我的问题是这不会触发上面的点击事件处理程序。如果我手动单击复选框,它会被调用。
问题是什么?
最佳答案
您需要使用 .trigger()
以编程方式调用点击处理程序
Execute all handlers and behaviors attached to the matched elements for the given event type.
脚本
$("#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/