У меня есть куча элементов, все с одним и тем же классом, и я пытаюсь разобраться, что происходит каждый раз, когда на один из них вкладывается вкладка. Само событие табуляции в порядке, только этот фрагмент кода вызывает у меня проблему.
Как ни странно, результат приведенного ниже кода состоит в том, что консоль будет регистрировать все как положено (сначала объект, который находится в фокусе, затем тот же объект с новым добавленным классом), однако DOM кажется незатронутым в devtools (т.е. нет новый класс был добавлен). Мысли
$('.item__link').each(function() {
if ($(this).is(':focus')) {
console.log($(this));
$(this).addClass("test");
console.log($(this));
}
})
РЕДАКТИРОВАТЬ - вот обработчик в полном объеме:
$(window).on("keyup", function (e) {
// check that tab key has been pressed
var code = (e.keyCode ? e.keyCode : e.which);
if (code == 9) {
if ($('#main-menu__trigger').is(':focus') && !#main-menu__trigger.hasClass('open')) {
// do stuff
} else {
$('.item__link').each(function() {
if ($(this).is(':focus')) {
console.log($(this));
$(this).addClass("test");
console.log($(this));
}
});
};
};
code = 0;
});