我有一个<input type="checkbox" />
,它有一个通过jQuery的.click
函数绑定到它的点击处理程序。然后,根据其状态进行一些计算:在jQuery中控制订单触发的点击UI事件
$(':checkbox').click(function() {
if (this.checked) {
console.log("ACTIVE");
} else {
console.log("INACTIVE");
}
});
这一切都在UI很好的,但是,在我的单元测试,我想模拟此元素的点击,并确保将正确的代码运行。
$(testElement).click();
的问题是,处理程序之前调用默认的浏览器操作的。因此,this.checked
值是颠倒的。也就是说,直到我的处理程序运行之后,才会更改它的checked
属性。
有没有解决这个办法吗?我可以绑定不同的事件吗?有没有不同的方式来以编程方式触发点击?
这实际上并没有改变复选框的状态。 – nickf 2011-03-17 18:37:34
请参阅编辑... – mattsven 2011-03-17 18:41:33