如果有的话,jQuery 的 change 方法在这里做什么?
What, if anything, is jQuery's change method doing here?
我熟悉将处理程序附加到复选框的 属性 更改,如下所示:
$(function(){
$("#chkbox").change(function(){
alert($(this).val())
});
});
然而,这样做 $("#chkbox").change();
会触发我的警报,但复选框的状态实际上不会改变,这告诉我 jQuery 只是触发它已经绑定到的处理程序一个元素。像 [bourbon.io][1]
那样调用它来关闭 its modal 有什么用?
$(".modal-fade-screen, .modal-close").on("click", function() {
$(".modal-state:checked").prop("checked", false).change();
});
如果我在末尾省略了 .change()
,模态框仍然关闭并且看起来一切正常。链接change()
有什么用?我问,因为我正在尝试将 Angular 与此模态一起使用,并且我需要调用关闭复选框的状态,以便我可以使用其他一些按钮关闭模态。 angular.element(".modal-state:checked").prop("checked", false);
似乎工作正常,但由于我不知道 Angular 中的 change
之类的东西
(它在 jQlite 中不存在),我想确定我没有遗漏任何东西。
如果您将 change
事件侦听器附加到元素,每次用户触发该事件时,事件处理程序都会触发。但是,如果您以编程方式操作具有通常会触发事件处理程序的更改的元素,则事件处理程序不会触发。因此,您希望在进行更改后手动触发更改事件,以便可以触发事件处理程序。
$(".modal-state:checked").prop("checked", false).change();
//or $(".modal-state:checked").prop("checked", false).trigger('change');
chaining change() 有什么用? 这完全取决于 change event handler
的作用。
我熟悉将处理程序附加到复选框的 属性 更改,如下所示:
$(function(){
$("#chkbox").change(function(){
alert($(this).val())
});
});
然而,这样做 $("#chkbox").change();
会触发我的警报,但复选框的状态实际上不会改变,这告诉我 jQuery 只是触发它已经绑定到的处理程序一个元素。像 [bourbon.io][1]
那样调用它来关闭 its modal 有什么用?
$(".modal-fade-screen, .modal-close").on("click", function() {
$(".modal-state:checked").prop("checked", false).change();
});
如果我在末尾省略了 .change()
,模态框仍然关闭并且看起来一切正常。链接change()
有什么用?我问,因为我正在尝试将 Angular 与此模态一起使用,并且我需要调用关闭复选框的状态,以便我可以使用其他一些按钮关闭模态。 angular.element(".modal-state:checked").prop("checked", false);
似乎工作正常,但由于我不知道 Angular 中的 change
之类的东西
(它在 jQlite 中不存在),我想确定我没有遗漏任何东西。
如果您将 change
事件侦听器附加到元素,每次用户触发该事件时,事件处理程序都会触发。但是,如果您以编程方式操作具有通常会触发事件处理程序的更改的元素,则事件处理程序不会触发。因此,您希望在进行更改后手动触发更改事件,以便可以触发事件处理程序。
$(".modal-state:checked").prop("checked", false).change();
//or $(".modal-state:checked").prop("checked", false).trigger('change');
chaining change() 有什么用? 这完全取决于 change event handler
的作用。