11540 sujets

JavaScript, DOM et API Web HTML5

Peu importe là où tu appliques ton keydown, c'est le code qu'il exécute qui est important...

Tu pourrais faire quelque chose comme :
<html>
    <head>
        <script type="text/javascript">
        function maFonction(evt) {
          e = evt || window.event;
          switch (e.keyCode) {
              case 86 : uneFonction(); break;
              case 78 : uneAutreFonction(); break;
              ...
          }
        }
        </script>
    </head>
    <body onkeydown="maFonction(event)">
    </body>
</html>


En fait, selon le lien que je t'ai envoyé, Firefox ne connaît pas window.event.
Avec ce stratagème, tu envoies à ta fonction le événement potentiellement récupéré.
Si l'événement a pu être récupéré directement, il est stocké dans la variable e (var e = evt)
sinon, on va chercher l'événement dans window.event (var e = window.event).
Modifié par Gothor (13 Feb 2012 - 16:01)
En faisant comme ceci, çà marche sous IE et sous Firefox :
j'utilise les deux évènements 'onKeyPress' et 'onKeyDown', le navigateur choisit celui qui fonctionne.

<input id="rechDsPg" type="text" value="" name="rechDsPg"onKeyPress="if(window.event.keyCode == 13) trouverMots(document.getElementById('rechDsPg').value);" onKeyDown="if(event.keyCode == 13) trouverMots(document.getElementById('rechDsPg').value);" onclick="expandAll(this.parentNode);" size="59"/>