1PeGaS
@1PeGaS

Как применить событие для новодобавленного класса?

Есть элемент без класса, при нажатии добавляется класс. Далее если вызвать событие на этом новом классе - ничего не происходит. Почему так? и как применить событие для нового класса?
Даже через on('click' пробовал
https://jsfiddle.net/vkr7kog5/
  • Вопрос задан
  • 156 просмотров
Решения вопроса 2
iiiBird
@iiiBird
Пока ты спишь - твой конкурент совершенствуется
Даже через on('click' пробовал

а надо через $(document).on('click', '.qwe', function () {
https://jsfiddle.net/vkr7kog5/1/
Ответ написан
Комментировать
delphinpro
@delphinpro Куратор тега JavaScript
frontend developer
Далее если вызвать событие на этом новом классе

Когда вы пишете $('div') - jquery делает выборку и кэширует результат выборки.
И события добавляет только этим элементам
Ок. Почему тогда не вызывается клик на этом же элементе при простом добавлении класса - спросите вы.
Тут тоже всё просто. сначала отработал $('div').click(...) - навесил события на все дивы. Далее тут же делается выборка с навешиванием события $('.qwe').on()- НО!
по диву-то еще никто не кликал и классов .qwe на странице не существует. Значит и событие клика на него не навешивается.
Всё! скрипт отработал. осталось висеть только событие клика на дивах.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы