上面這段程式碼在IE下會產生一個多選框,點擊它會選取打勾,再按一下則會取消打勾。
這樣看上去並沒有什麼不妥的地方,但是如果你嘗試快速兩次單擊(比雙擊稍微慢一點吧。。)這個按鈕,可能效果並不如你想像的那樣。
在IE下面,假如此時checkbox為選中狀態,在你快速兩次單擊的過程中,第一次單擊會使得checkbox取消選中,第二次單擊之後checkbox並不會變成已選中,而是繼續保持取消選中狀態。
在Chrome等瀏覽器下,第一次點擊會使得checkbox取消選中,在第二次點擊之後checkbox會還原為已選取的狀態。
所以在IE下,雙擊後,checkbox會變成相反的狀態。在非IE下,雙擊後checkbox為相同的狀態。
如果想在IE下方雙擊checkbox會達到非IE下的效果,則需使用以下程式碼:
複製程式碼
程式碼如下:
$("input[type='checkbox']").attr('ondblclick', 'this. click()');