2011-06-30 55 views

回答

4

你有哪個版本的IE? 此代碼對我的作品與IE(9.01):

<!doctype html> 
<html> 
    <head> 
    <title></title> 
    <script type="text/javascript"> 
     window.document.onkeydown = function (e) 
     { 
     if (!e) e = event; 
     if (e.keyCode == 27) 
      alert("Hello!"); 
     } 
    </script> 
    </head> 
    <body> 
    </body> 
</html> 

檢查也是您的文檔類型,你的IE瀏覽器可以使用怪癖模式,也許。

+0

這非常優雅。我只是添加了一個有條件的'if'來檢查一個布爾變量,以防止每次按下轉義鍵時不必要的代碼執行。即'if(popped_up == true)...' – Slink

1

某些瀏覽器使用e.keyCode,其他e.charCode。此外,這對事件類型也有所不同,有些瀏覽器(如FF)會使用一種類型的鍵,另一種類型使用另一種類型(例如字母與箭頭鍵)

但是,在jsfiddle ,它看起來像e.keyCode是IE9的正確檢查。你正在測試哪個版本的IE?