Come impostare richiamata sui singoli elementi utilizzando jQuery
-
21-08-2019 - |
Domanda
Ho una funzione js che ha, fino ad ora, da sempre il callback per un evento click, e, pertanto, si basa molto sul 'questo' pseudo-variabile. 'Questo' è un
Comunque ora ho una circostanza in cui a volte viene attivata tramite percorso più contorto, e in queste circostanze 'questo' è un elemento completamente diverso. Tuttavia, prima di chiamare la funzione sono in grado di trovare il relativo
modifica si scopre che ogni () funziona su singoli elementi .. l'errore si è rivelato essere qualcosa d'altro.
Non hanno cancellato questa domanda anche se, come potrebbe essere utile ad altri
Soluzione
Stai cercando il chiamare metodo:
function onClick() {
console.log(this); // will be the #test element in both cases
return false;
}
$('#test').click(onClick);
$('#test2').click(function() {
onClick.call($('#test')[0]);
return false;
});
Anche se questo è possibile anche con applicare :
onClick.apply($('#test')[0]);
Il [0]
è necessario passare all'elemento DOM effettivo anziché il jQuery stabilito spostato.
Altri suggerimenti
jquery.callback plug . Mantiene contesto di callback.