Предположим, что есть div, который содержит ссылку (href), и есть три прослушивателя событий - на-клик-1) для всей страницы, 2) на div 3) тег. Если пользователь нажимает на тег, как запускаются слушатели? Каков порядок их регистрации?Как определяется порядок прослушивателей событий в javascript?
ответ
По сути, это зависит. Есть два этапа для событий: «Захват» (происходит первым), который идет вниз, и «Bubbling», который идет вверх по элементу.
JS может делать то и другое, поэтому при создании пользовательского прослушиваемого события у вас есть третья булева переменная, например.
parent.addEventListener('click',doSomething2,true) child.addEventListener('click',doSomething,false)
Если его последний аргумент верно обработчик события устанавливаются для фазы захвата, если оно ложно обработчик события устанавливаются для фазы восходящей цепочки.
Возвращаясь к коду образца и цитировать this page:
Если пользователь нажмет на дочерний элемент происходит следующее:
Клик событие начинается в фазе захвата. Событие выглядит, если какой-либо дочерний элемент дочернего элемента имеет обработчик события onclick для этапа захвата.
Событие находит одно на родительском. Выполняется doSomething2().
Событие перемещается вниз до самой цели, не найдено больше обработчиков событий для фазы захвата. Событие переходит на свою фазу барботирования и выполняет doSomething(), который зарегистрирован для дочернего элемента для фазы барботирования.
Событие перемещается вверх и проверяет, имеет ли какой-либо элемент предка цели обработчик события для фазы барботирования. Это не так, поэтому ничего не происходит.
страница Я связала выше, имеет намного больше информации, но мы надеемся, что ответы на основной вопрос.
- 1. Javascript - несколько пользовательских прослушивателей событий
- 2. Динамическое добавление нескольких прослушивателей событий в JavaScript
- 3. динамически добавлять прослушивателей событий
- 4. Получение списка всех прослушивателей событий javascript/jquery
- 5. Добавление прослушивателей событий с Javascript DOM
- 6. JavaScript: Как изменить порядок событий?
- 7. javascript выполнение событий порядок
- 8. Javascript OnClick порядок событий
- 9. Как определяется порядок в «foreach»?
- 10. порядок событий javascript?
- 11. Порядок выполнения Javascript-событий
- 12. Удаление прослушивателей событий
- 13. Динамическое добавление прослушивателей событий
- 14. Настройка пользовательских прослушивателей событий
- 15. Понимание прослушивателей событий в java
- 16. Прослушивание прослушивателей событий внутри прослушивателя событий перехода?
- 17. Порядок обработки событий в JavaScript
- 18. Как использовать замыкания для создания прослушивателей событий в цикле Javascript?
- 19. Ждите прослушивателей событий в цикле?
- 20. Как определяется порядок повторного поиска?
- 21. Порядок выполнения ключевых событий Javascript
- 22. Слушатели событий Javascript - Порядок обмана
- 23. Добавление прослушивателей событий в «объекты памяти» в Javascript?
- 24. Как найти прослушивателей событий на узле DOM с помощью JavaScript
- 25. Дождитесь завершения всех прослушивателей событий
- 26. Рекомендации по размещению прослушивателей событий
- 27. javascript порядок выполнения обработчиков событий
- 28. Несколько прослушивателей событий (с SSCCE)
- 29. Добавление прослушивателей событий без переопределения
- 30. Несколько прослушивателей событий без петель