有点难以解释,所以我设置了一个jsFiddle here。
基本上,当用户点击复选框时,我会触发一些行为。在另一个地方,我正在尝试以编程方式单击复选框,我需要看到完全相同的行为。它不起作用,似乎与点击的顺序和确定已检查的属性有关。
如何在不诉诸黑客的情况下获得我正在寻找的行为?
答案 0 :(得分:2)
我倾向于在这里使用change
处理程序(因为jQuery规范了行为,它不需要blur
),然后像这样触发该事件:
$('span').click(function() { $('.test').click().change(); });
然后,您明确了订单...并且您没有本机操作与事件处理程序顺序you can test it out here的问题。
答案 1 :(得分:1)
您不需要为此行为添加javascript ...只需使用此html语法:
<input type="checkbox" id="myid" /> <label for="myid">My Label</label>
如果要添加javascript列表器,可以添加更改或单击以输入字段。
:)
或者你应该使用jquery:
$('span').click(function() { $('.test').trigger('click'); });
答案 2 :(得分:0)
我遇到了同样的问题并修复了它调用javascript click函数而不是像这样的jQuery:
$('.test')[0].click();