powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Делегированные события срабатывают на всех элементах сразу?!
4 сообщений из 4, страница 1 из 1
Делегированные события срабатывают на всех элементах сразу?!
    #37851131
private
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Седня поймал какой-то странный баг - так и не понял его причину.

Есть экшен для навигации без перезагрузки:

$('body').on 'click', 'a.js-navigate', (e) -> ...

И обычные экшены для редактирования и обновления контента:

$('.post').on 'click', '.edit', (e) -> ...
$('.post').on 'click', '.refresh', (e) -> ...

И вдруг, при нажатии на навигацию - начали срабатывать все сразу, почему так и не понял (единственно, я поменял логику удаления элементов - удаляю их из ДОМ но события сразу не удаляю, может дело в этом?).
У кого-то было такое?
...
Рейтинг: 0 / 0
Делегированные события срабатывают на всех элементах сразу?!
    #37851159
private
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ахренеть, есть след структура:

<div class='post'>
<a class='js-refresh'></a>
<a class='js-edit'></a>
</div>

есть слушатели

$('.post').on('.js-refres', refresh)
$('.post').on('.js-edit', edit)

я щелкаю на js-refresh - срабатывают оба, причем в обработчике js-edit показывает что e.srcElement = js-refresh.
Как такое возможно?

Получается не сразу, только путем некоторых манипуляций с созданием и удалением ДОМ обьектов, че за чертовщина.
...
Рейтинг: 0 / 0
Делегированные события срабатывают на всех элементах сразу?!
    #37851199
зы
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
так ты посмотри инспектором что получилось после твоих манипуляций, небось ссылку в ссылку заложил
...
Рейтинг: 0 / 0
Делегированные события срабатывают на всех элементах сразу?!
    #37851522
private
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Смотрел, нет хтмл нормальный. Там очень странно все происходит - создается элемент, потом добавляется сразу в два места (первая ошибка) потом из одного места удаляется (вторая ошибка) и затем при щелчке на кнопки - в таргет показывается что событие пришло с элемента удаленного из дом. Хз как это возможно, я забил. Саму ошибку легко было поправить - я сидел разбирался потому что было интерешно - что такое там происходит - но, после пары часов забросил.
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Делегированные события срабатывают на всех элементах сразу?!
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]