Jquery Funzione focusOut
-
26-10-2019 - |
Domanda
E 'possibile passare l'elemento alla funzione focusOut in jQuery? Vorrei legare tutte le caselle di testo focusOut evento in una dichiarazione. Così la mia soluzione sarebbe quella di farli tutti la stessa classe e poi fare qualcosa di simile
$(".class-name").focusout( function() {
//do whatever
});
Ma mi piacerebbe ottenere il valore dell'elemento all'interno del focusOut senza dover fare riferimento ad esso per la sua identificazione, quindi è qualcosa di simile a questo possibile?
$(".class-name").focusout( function(this) {
alert( $(this).val() );
});
Soluzione
Supponendo che si rende conto della natura magica di questo è ciò che si vuole: focusout
sopra blur
,
$("#the-common-parent-of-all-inputs").focusout( function(e) {
alert( e.target.value );
});
Hai solo bisogno di legare una focusout
al genitore comune dei elements.This di ingresso è l'unica ragione per usare focusout
.
Non può rendersene conto, ma quando lo fai $(".class-name").focusout
sarà solo legarsi ad ogni elemento singolarmente, che sconfigge l'intero scopo di focusout
.
Altri suggerimenti
Per qualcosa come focusOut (o qualsiasi altro evento jQuery) si può fare:
$(".class-name").focusout( function() {
//`this` refers to the object that was focusouted on
});
this
fa sempre riferimento all'oggetto l'evento è accaduto il
Hai provato esso? Dovrebbe sicuramente lavorare, ma senza (!) Il "questo" parametro. "Questo" si riferirà automaticamente l'elemento corrente, non è necessario passare alla funzione come parametro. Basta ometterlo.