これはIEで動作しますが、OperaやFirefoxで動作させることができません。現在のフォーカスがSELECTドロップダウンである場合に限り、バックスペースがナビゲートしないようにしたい。バックスペースがjavascriptで戻るのを防ぐ方法を教えてください。
<html>
<body>
<select id="testselect">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
</select>
<script language="javascript">
document.getElementById("testselect").onkeydown = function(e) {
if(!e) {
e = event;
}
alert(e.keyCode);
if (e.keyCode == 8 || e.keyCode == 46) {
e.returnValue = false;
e.cancelBubble = true;
if (e.stopPropagation) { e.stopPropagation(); alert("stoppropagation");}
if (e.preventDefault) { e.preventDefault(); alert("preventdefault");}
return false;
}
};
</script>
</body>
</html>
1を次のようにのみ選択ドロップダウン入力コントロールとテキストエリアを除いて、ページ内のすべての要素については
ためです「backspace navigating」がキーアップではなくキーアップで動作することを認識するのを助けてくれた。私はいつもページごとに1回ヒットしなければならないと考えていましたが、戻ってみたいと思っていました。 – Mercurybullet
ああ、Firebugをインストールしましたが、このサンプルはFirefoxで動作します。理由は分かりません。 – hova