我有一個<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