/ / Użyj obj / this w metodzie „on” - javascript, jquery, jquery-selecters

Użyj obj / this w metodzie "on" - javascript, jquery, jquery-selectors

Mój javascript wygląda

$(".adv_group").each(function(){
var eachAdvGroup = $(this);
$(document).on("keypress", **eachAdvGroup.find(".userinput:last")** ,function(){
//do something
}
})

Wiedziałem, że „włączone” zajmuje tylko String, więc jak tłumaczyć $ (this) .find (". userinput: last") w sznurek?

P.S. Chcę być ostatni .userinput w każdym .adv_group

Odpowiedzi:

8 dla odpowiedzi № 1

Możesz po prostu zrobić:

$(".adv_group").on("keypress", ".userinput:last", function(){
........
});

Jquery wewnętrznie wykonuje pętlę przy wszystkich dopasowaniach .adv_group.

A jeśli masz na myśli to .adv_group nie ma gwarancji, że będzie istniał cały czas, a następnie albo przekaże go innemu rodzicowi, albo dokumentowi.

$(document).on("keypress", ".adv_group .userinput:last-of-type", function(){
........
});

Ponieważ adv_group jest generowany w locie, aby był wybrany na każdym poziomie, którego potrzebujesz :last-of-type lub :last-child i nie :last, aby wybierał ostatni .userInput z każdego .adv_group zamiast ostatniego .userInput wszystkich grup adv_groups łącznie.

Próbny


1 dla odpowiedzi nr 2

The $.each() połączenie jest całkowicie niepotrzebne, wszystko czego potrzebujesz to

$(document).on("keypress", ".adv_group .userinput:last-of-type", function(e) {
var $ele = $(this);
//do something
}