0
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
 <HEAD>
  <TITLE> New Document </TITLE>
    <script language="JavaScript" src="mootools-1.2.3-core-nc.js"></script>
    <script language="JavaScript" src="mootools-1.2.3.1-more-nc.js"></script>
 </HEAD>
 <BODY id='body'>
 </BODY>
  <Script> 
  function onkeydown(e){
            alert(e.key);
            e.keyCode=0;   
                    e.stop();
            return   false;   

    }
  Event.Keys.F3 = 114;
  window.addEvent('domready', function() {
                    document.addEvent("keydown", this.onkeydown);
                                                                 }) ;
                </script>
</HTML>

IE8で開くときに、を押すF3と、検索アクションが表示されます。どうして止められないの?

4

2 に答える 2

1

これはブラウザのデフォルトのアクションであり、予想される動作を上書きする良い言い訳はほとんどありません。

IEでAlt-Enterを無効にするにはどうすればよいですか?を参照してください。IEでALT-Enterを無効にすることに関する最近の議論については。

于 2009-10-20T11:26:57.730 に答える
1

Internet Explorer、およびその他のほとんどのブラウザーは、JavaScriptからのFキーの使用をロックします。明らかな理由により、これらのキーの再バインドは禁止されています。F5キーの再バインドを許可した場合の混乱を想像してみてください!

技術的な答えは、キーダウンイベントとキーアップイベントがアプリケーションによってJSレイヤーに到達する前にインターセプトされることです。伝播を防ぐためにイベントでtrueまたはfalseを返すことができるのと同じように、アプリケーションは、信頼できるドメイン外のスクリプトインターフェイスへのキーダウンおよびキーアップイベントの伝播を停止します。F3キーは、ブラウザのアドオンとツールバー内でのみオーバーライドできますが、Webページ内ではオーバーライドできません。

簡単に言うと、別のキーを再バインドしてみてください。Fキーは、クロスブラウザで簡単に再バインドすることはできません。

于 2009-10-20T11:39:03.603 に答える