IE6/IE7/IE8 では、onclick イベント (クリックされたボタンから) が発生しない場合があることに気付きました。最後の onclick イベントが発生してから数秒の猶予期間があるようです。
次のコードを使用して、この動作をテストすることにしました。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
<script type="text/javascript">
window.onload = function(){
document.getElementById('clicker').onclick = function(){
var i = 0
return function(){
i+= 1
this.value = i.toString()
}
}()
}
</script>
</head>
<body>
<input type="submit" value="click here" id="clicker"/>
</body>
</html>
ブラウザー比較 (1/4 速度) ご覧のとおり、ボタンを 2 回クリックするだけで IE 6-8 でイベントが発生しますが、9/firefox/chrome では毎回イベントが発生します。 .
これの原因は何ですか?IE6 および 8 は、Windows XP を搭載した仮想マシン (VirtualBox) でテストされました。
他の:
- 「送信」と「ボタン」の両方で同じ結果が得られました。
- onclick の代わりに「Onmouseup」を使用するとうまくいくようです。