Mam podstawowe pojęcie o this
nie będąc w method
, gdy w strict mode
opisane here, ale robi się trochę erudycyjny, szczerze mówiąc. Tak więc, bardziej prozaiczne warunki:callback - ścisłe naruszenie
Mam obsługi tak:
$('.myClass').one('keyup', function() {
var $this = $(this);
etc etc
});
chcę zmienić go na to:
function myFunction() {
var $this = $(this);
etc etc
};
$('.myClass1').one('keyup', myFunction);
$('.myClass2').one('keyup', myFunction); etc
on nie lubi, bo w strict mode
ponieważ Używam this
poza metodą. Rozumiem.
Jednak muszę mieć myFunction
osobny do obsługi, ponieważ (1) jest dołączony do różnych klas/elementów i (2) Używam .off().one('keyup', myFunction)
zresetować obsługi one
różnych klas w różnych punktach.
W jaki sposób mogę uzyskać oddzielną funkcję zwrotną, nie naruszając działalności firmy this
?
Zaakceptowanych odpowiedź na pytanie link do sugestii, aby zamienić instrukcję funkcji na wyrażenie funkcji. Próbowałeś tego? –
Nie używaj trybu ścisłego. – Imdad
Nie ma nic złego w korzystaniu z tego wewnątrz funkcji. Biorąc pod uwagę, że "metody" tak naprawdę nie należą do obiektów (są to po prostu właściwości odnoszące się do funkcji zdefiniowanych _somewhere_ i ewentualnie współużytkowane z innymi obiektami), nie widzę tego, co jest przedmiotem sprzeciwu. – nnnnnn