У меня есть нижний слушатель для класса .my-class
(я использую плагин путевой точки). Однако, если я попытаюсь позвонить $(this).addClass("hello")
, он не добавит класс к отдельному div
, у которого есть класс, и уволил слушателя.«this» не будет ссылаться на div в прослушивателе JQuery
С другой стороны, если я вместо этого вызываю $(".my-class").addClass("hello")
внутри функции, он добавляет класс hello
ко всем экземплярам .my-class
, чего я не хочу.
Я неверно истолковал, как должен использоваться this
(я новичок в JS)? Должен ли он ссылаться на единственный div
, который запускает слушателя и, следовательно, добавляет класс к этому div?
$(".my-class").waypoint(function(e) {
$(this).addClass("hello");
})
Я не уверен. Не могли бы вы попробовать разместить JSFiddle? – RickyAYoder
Попробуйте 'console.log ($ (this))', чтобы точно увидеть, что такое '$ (this)'. Это может быть немного трудно читать, но все равно поможет. –
Стандарт jQuery - это выполнение вспомогательных функций с рассматриваемым элементом как контекст 'this'. Однако '.waypoint()' - это код плагина, а не код ядра jQuery, поэтому они не могут следовать этому соглашению. Контекст 'this' будет таким, каким был его плагин. – ajp15243