2011-10-12 2 views
0

JQuery:Arguments d'événement Javascript/JQuery. Je ne comprends pas ce que cet argument « e » est ou ne

this.saveButton.click(function (e) { 
    scope.saveForm(); 
}); 

Ceci est une ligne très simple de JQuery qui lie l'événement .cliquez() à l'objet saveButton et appelle une fonction SaveForm lorsque l'événement est déclenché.

Lorsque cet événement est appelé, qu'est-ce que 'e'? Je ne pense pas que ce soit jamais utilisé.

+4

e est le nombre d'Euler, à peu près égale à 2,7182818284 - il est largement utilisé dans les logarithmes et le calcul. Votre ordinateur ne connaît pas cette constante, c'est pourquoi il est * absolument essentiel * que vous l'incluiez dans tous vos gestionnaires d'événements, ou que vous risquiez d'exploser tout l'Internet. – Blazemonger

+1

@Blazemonger Je vais garder ça à l'esprit! – contactmatt

+1

En repensant à mon ignorance des années plus tard. Priceless :) – contactmatt

Répondre

3

Le e peut être utilisé pour obtenir des informations spécifiques sur le clic (à gauche, à droite ou au centre, les coordonnées sur lesquelles vous avez cliqué, l'objet DOM cliqué), mais cet exemple de code spécifique ne l'utilise pas.

Voir http://api.jquery.com/category/events/event-object/ pour plus de détails sur ce qui est disponible.

+0

Mais qui passe l'argument 'e'? Le navigateur? – contactmatt

+0

Depuis le lien: 'L'objet événement est garanti pour être transmis au gestionnaire d'événements. – asawyer

+1

Tout gestionnaire d'événement le crée automatiquement et le transmet. Je suppose que l'OS est techniquement le créateur de celui-ci. Cela fait partie de la magie. – Blazemonger

1

Les gestionnaires d'événements peuvent prendre un paramètre facultatif contenant des informations sur l'événement qui s'est produit. Dans ce cas, il est inutilisé.

0

e (ou tout autre nom que vous utilisez) est un objet Event. Il est très utile lorsque vous voulez, par exemple, déterminer où l'événement click a eu lieu ou quelle touche a été enfoncée lors de l'événement keydown. Vous devez lire this article sur l'API jQuery.

Exemple d'utilisation:

$("#someInput").keydown(function (e) { 
    alert(e.which) // alerts the keycode of the pressed key 
}); 
Questions connexes