jQuery условный addClass не работает
Немного повесить трубку с помощью jQuery addClass. У меня есть #story div в моей разметке, которая сжимается, когда он получает класс "away", а затем всплывает обратно, когда теряет этот класс.
Вот загвоздка:
$('#story div.x').on('click', function () {
if (!$('#story').hasClass('away')) {
$('#story').addClass('away');
}
});
Приведенный выше код просто добавляет пустой класс = "" к моему элементу story, но...
$('#story div.x').on('click', function () {
if (!$('#story').hasClass('away')) {
setTimeout(function () {
$('#story').addClass('away');
}, 1000);
}
});
Этот код добавляет соответствующий атрибут class = "away".
Что дает?
1 ответ
Решение
Похоже, что есть другое событие, обновляющее класс, или, возможно, элемент еще не готов, но становится доступным через 1 секунду, возможно, после вызова ajax или когда DOM готов.
Может ли это быть?