2011-09-12 22 views
3

次のコードはIEで正常に動作しますが、他のブラウザでは動作しません。FirefoxとChromeでonkeyupテーブルのイベントが発生しない

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
    <title></title> 
    <script type="text/javascript"> 
     function OnLoad() { 
      var tbl = document.getElementById("tbl"); 
      tbl.addEventListener("keyup", OnKeyUp); 
      tbl.focus(); 
     } 

     function OnKeyUp(event) { 
      alert(event.keyCode); 
     } 
    </script> 
</head> 
<body onload="OnLoad()"> 
    <table id="tbl"> 
     <tr> 
      <td> 
       1 
      </td> 
      <td> 
       2 
      </td> 
      <td> 
       3 
      </td> 
     </tr> 
     <tr> 
      <td> 
       4 
      </td> 
      <td> 
       5 
      </td> 
      <td> 
       6 
      </td> 
     </tr> 
    </table> 
</body> 
</html> 

答えて

3

問題は、table要素に一部のブラウザでフォーカスを与えることができないということです。あなたがテーブルにtabindexプロパティを追加する場合は、あなたのコードは、そのテーブルがフォーカスを受け取ることができますよう、動作するはずです:

<table id="tbl" tabindex="1"> 
    <!--Rest of your code--> 
</table> 

はここで働いてexampleです。

関連する問題