IE次はcheckbox反応遅延の問題をダブルクリック
781 ワード
<input type='checkbox'/>
上のコードはIEの下で1つの多選択の枠を生成することができて、それをクリックしてチェックを打つことを選択して、再度クリックしてチェックを取り消すことができます.
これでは何の問題もないように見えますが、2回速くクリックしてみると(ダブルクリックより少し遅いでしょう..)このボタンは、あなたが想像していたほど効果がないかもしれません.
IEの下で、この時点でcheckboxが選択されている場合、2回クリックすると、最初のクリックでcheckboxが選択解除され、2回目のクリックが終了してもcheckboxは選択されず、選択解除状態を維持し続けます.
Chromeなどのブラウザでは、最初のクリックでcheckboxが選択解除され、2回目のクリックでcheckboxが選択された状態に戻ります.
だからIEの下でダブルクリックすると、checkboxは逆の状態になります.非IEでダブルクリックするとcheckboxは同じ状態になります.
IEの下でcheckboxをダブルクリックすると非IEの効果が得られる場合は、次のコードを使用します.
<input type='checkbox'/>
$("input[type='checkbox']").attr('ondblclick', 'this.click()');