输入上的触发“更改”事件不起作用

时间:2014-10-22 17:44:21

标签: javascript jquery checkbox

我为自己的项目创建了一种自定义复选框的插件。  所以我想触发<input type="checkbox">手动点击另一个按钮,如下所示:

$("a#triggerButton").click(function(){
   $("input[type='checkbox']")
     .prop("checked", true)
     .triggerHandler("change");
});

以下是我正在做的一个典型示例:http://jsfiddle.net/fstqvq8k/3/ 似乎事件没有被触发。我使用了很多方法,但似乎也没有用:

  • $("input[type='checkbox']").change();
  • $(document).on("change", "input[type='checkbox']", function(){});

2 个答案:

答案 0 :(得分:4)

由于您动态创建按钮:

$("#container").on("click", "#triggerButton", function() {
    $("#customCheckbox")
        .prop("checked", true)
        .trigger("change");
});

http://jsfiddle.net/fstqvq8k/4/

同样来自 Docs

  

.triggerHandler()方法不会导致事件的默认行为(例如表单提交)。

答案 1 :(得分:0)

您还可以触发复选框事件,例如..

$("input[type='checkbox']").click();
相关问题