gpt4 book ai didi

javascript - Jquery 触发复选框 : function tied to click event occurs before the checked attribute is set

转载 作者:数据小太阳 更新时间:2023-10-29 06:03:31 25 4
gpt4 key购买 nike

我正在实现“帐单地址与地址相同”类型的功能,当复选框被选中时,它会根据其他字段填充字段。完美运行。

点击事件的函数..

    if ($(this).attr('checked')) {
// copy address fields to billing fields
}
else{
// clear fields
}

现在我使用一个事件(jquery 热键插件)来自动填写表单中的所有字段,这样我就可以轻松快速地演示和测试表单。而不是欺骗和填写账单字段作为我想使用的地址字段

$("#CheckboxForAutofillId").trigger('click'); 

这在我第一次触发事件时不起作用,因为在上面调用的函数中,它检查检查的属性,但是触发器('click')显然在它更改属性之前调用事件。

这意味着我必须正确地模拟它......

$("#CheckboxForAutofillId").attr("checked", "checked"); // sets checked
$("#CheckboxForAutofillId").trigger('click'); // fires event then 'unchecks'
$("#CheckboxForAutofillId").attr("checked", "checked"); // rechecks

阅读触发器的 jquery 页面,我没有注意到这一点,我也没有费心去挖掘源代码以查看实际发生了什么,但在我看来,理想情况下,触发器事件应该设置为“已检查” ' 触发事件本身之前的属性,因为这是对检查复选框的人的更好模拟?

我错过了什么吗?

最佳答案

您应该使用 change() 而不是 click()。

$("#CheckboxForAutofillId").change(function()
{
if(this.checked) ...
});

关于javascript - Jquery 触发复选框 : function tied to click event occurs before the checked attribute is set,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6474076/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com