【发布时间】:2011-09-22 09:03:15
【问题描述】:
我正在实现“计费地址与地址相同”型函数,当检查复选框时,基于其他字段填充字段。完美运行。
点击事件的函数..
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 页面时,我没有注意到提到的这一点,我也没有费心去挖掘源代码以查看实际发生的情况,但在我看来,理想情况下,触发器事件应该设置“已检查” ' 触发事件本身之前的属性,因为这样可以更好地模拟一个人检查复选框?
我错过了什么吗?
【问题讨论】:
标签: javascript jquery triggers checkbox