J'ai un <input>
qui a un gestionnaire d'événements en ligne onkeydown
. Dans ce gestionnaire, je voudrais appeler une fonction et lui passer un paramètre spécial - les données de l'événement.Transmission des données d'événement dans les gestionnaires d'événements en ligne
Quand je veux gérer les événements (par exemple onmousemove) pour l'ensemble du document, j'utilise le code suivant:
document.onmousemove=function(e) {
// here I can make a good use of the 'e' variable,
// for example extract the mouse coordinates from it
}
Et il fonctionne (bien que je ne sais pas où la variable e
- données d'événement - vient de).
Mais cette fois, je veux utiliser la fonction uniquement pour le <input>
mentionné ci-dessus.
J'ai besoin de transmettre les données d'événement à la fonction afin qu'elle puisse obtenir le code de la touche enfoncée. Et je veux le faire dans ce gestionnaire d'événement inline. J'ai créé une fonction:
function myfunc (e) {
var evt=window.event?event:e;
var code=evt.keyCode;
alert (code);
}
et essayé toutes ces méthodes:
<input onkeydown="myfunc(this)">
<input onkeydown="myfunc(this.onkeydown)">
<input onkeydown="myfunc(onkeydown)">
Mais aucun d'entre eux travaillaient, la fenêtre d'alerte maintenue affichant "non défini".
J'ai cherché une solution à mon problème dans Google, mais je n'ai rien trouvé qui puisse m'aider à le résoudre.
Merci vraiment beaucoup :) Je ne connaissais pas la event' 'globale variable. Maintenant, cela fonctionne parfaitement, merci encore. – rhino
Eh bien, vous devriez vraiment lire un document avant d'entrer dans la gestion des événements javascript, car il peut être salissant, surtout si vous faites face à IE. En tout cas, je suis content que je puisse aider. – galambalazs
Ne fonctionne pas sur IE7 & IE 8 – Luckyy