javascript - 选中时未触发复选框单击事件

标签 javascript jquery

我有一个 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/

相关文章:

javascript - Jquery getJson 不调用回调

javascript - JSON 数据不会通过 jQuery getJSON() 显示

javascript - 如何在 jQuery 中重定向到根页面?

javascript - Node.js - 首先对从字母开始且长度较长的字符串进行排序,然后是从小到大的数字开始的字符串

javascript - 根据各自的高度或内容显示更多和更少

JQuery 动画排队

Javascript:jQuery.extend 对象与内联函数赋值

javascript 查找元素的选择器

javascript - 平铺 map 绘图 Canvas

javascript - 切换表格可见性时宽度损失 100%