Question

est possible de passer l'élément à la fonction focusout dans Jquery? Je voudrais lier tous les champs de saisie focusout événement dans une déclaration. Donc, ma solution serait de les faire toute la même classe et faire quelque chose comme

$(".class-name").focusout( function() {
//do whatever
});

Mais je voudrais obtenir la valeur de l'élément à l'intérieur du focusout sans s'y référer par son identifiant, est donc quelque chose comme ceci possible?

$(".class-name").focusout( function(this) {
alert( $(this).val() );
});
Était-ce utile?

La solution

En supposant que vous rendez compte de la nature magique de focusout sur blur, c'est ce que vous voulez:

$("#the-common-parent-of-all-inputs").focusout( function(e) {
alert( e.target.value );
});

Vous ne devez lier un focusout au parent commun des elements.This d'entrée est la seule raison d'utiliser focusout.

Vous pouvez pas le réaliser, mais quand vous faites $(".class-name").focusout il va juste se lier à chaque élément individuellement, qui contrecarre le but de toute focusout.

Autres conseils

Pour quelque chose comme focusout (ou tout autre événement jQuery) vous pouvez faire:

$(".class-name").focusout( function() {
   //`this` refers to the object that was focusouted on
});

this se réfère toujours à l'objet l'événement est survenu sur

Avez-vous essayé? Ça doit fonctionner, mais sans (!) Le paramètre « this ». « Ce » se référeront automatiquement à l'élément courant, pas besoin de passer à la fonction en tant que paramètre. Il suffit de le supprimer.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top