不太清楚如何解释这个但是这里.
我有一个基于复选框隐藏/显示的功能:
$( "#勾选")改变(change_visibility).
function change_visibility() {
if ($("#checkbox").is(":checked")) {
$("#theForm").fadeTo("opacity", "1", function() {
//End Animation
});
} else {
$("#theForm").fadeTo("opacity", "0.3", function() {
//End Animation
});
}
Run Code Online (Sandbox Code Playgroud)
问题是,现在我已将此复选框绑定到其他位置的按钮,并且change()的行为与我预期的不同.
$("#myButton").click(function(){
$("#checkbox").attr("checked", true);
});
Run Code Online (Sandbox Code Playgroud)
尽管复选框正在改变,但它似乎并没有像我手动点击它时那样调用change_visibility()函数.
知道为什么会这样吗?
每当您更改输入元素的状态或值时,都不会触发更改事件.
但您可以手动触发它:
$("#checkbox").prop("checked", true).change();
Run Code Online (Sandbox Code Playgroud)