Ich bekomme die Grundidee über this
nicht in einem method
wenn in strict mode
skizziert here, aber es wird ein bisschen gelehrt, um ehrlich zu sein. Also, in prosaischen Begriffe:jQuery Callback - strenge Verletzung
Ich habe einen Handler wie folgt:
$('.myClass').one('keyup', function() {
var $this = $(this);
etc etc
});
ich es, dies ändern will:
function myFunction() {
var $this = $(this);
etc etc
};
$('.myClass1').one('keyup', myFunction);
$('.myClass2').one('keyup', myFunction); etc
Es mag es nicht, weil in strict mode
weil Ich verwende this
außerhalb einer Methode. Ich verstehe das.
Ich brauche aber myFunction
getrennt an den Handler zu haben, weil (1), um sie verschiedenen Klassen/Elemente angebracht ist und (2) Ich verwende .off().one('keyup', myFunction)
die one
Handler für verschiedene Klassen an verschiedenen Stellen zu setzen.
Also wie komme ich mit einer separaten Rückruffunktion ohne Verletzung der this
Geschäft?
Die akzeptierte Antwort auf die Frage Sie verknüpfen mit schlägt vor, die Funktionsanweisung durch einen Funktionsausdruck zu ersetzen. Hast du das versucht? –
Verwenden Sie nicht den strikten Modus – Imdad
Es ist nichts falsch daran, dies in einer Funktion zu verwenden. Da "Methoden" nicht wirklich zu Objekten gehören (sie sind nur Eigenschaften, die sich auf Funktionen beziehen, die _irgendwo_ definiert sind und möglicherweise mit anderen Objekten geteilt werden), sehe ich nicht, was der Einwand ist. – nnnnnn