Обработка событий jquery javascript if on event (например, 'click') связывает одну функцию для родительского элемента и другую функцию-обработчик для дочернего элемента DOM, из которого они вызывается? Если все они будут звонить в каком порядке? Спасибо!Порядок обработки событий
ответ
События пузыря «вверх» дерева DOM, поэтому, если у вас есть обработчики для элемента и его родителя, сначала будет вызываться обработчик дочерних элементов.
Если вы зарегистрируете более одного обработчика события для одного элемента DOM (например, более одного обработчика щелчка для одной кнопки), то обработчики вызываются в том порядке, в котором они были прикреплены к элементу ,
Ваши обработчики могут сделать несколько вещей, чтобы изменить то, что происходит после того, как они сделаны:
- С передается в параметре события, вызовите
event.preventDefault()
сохранить любой «родной» действие происходило - вызова
event.stopPropagation()
, чтобы событие из барботажных вверх по дереву DOM - возвращения ложного из обработчика, и остановить распространение и предотвратить по умолчанию
Обратите внимание, что для некоторых элементов ввода (флажки, переключатели) обработка немного странная. Когда вызывается ваш обработчик, браузер уже установил флажок «checked» в противоположность его предыдущему значению. То есть, если у вас есть флажок, который не установлен, тогда обработчик «щелчка» заметит, что атрибут «checked» будет установлен на «true», когда он вызывается (после щелчка пользователя). Однако, если обработчик возвращает false, значение флажка фактически НЕ будет изменено щелчком, и оно останется не проверенным. Итак, это похоже на то, что браузер выполняет половину «родного» действия (переключает атрибут «checked») перед вызовом обработчика, но только действительно обновляет элемент, если обработчик не возвращает false (или вызывает «preventDefault») "на объект события).
Ребенок будет вызываться первым, а затем родителем.
События идут от ребенка к родительскому, когда событие пузырится вверх. На том же элементе обработчики будут выполняться в том порядке, в котором они были связаны.
- 1. Node.js порядок обработки событий
- 2. Порядок обработки событий Отто
- 3. Порядок обработки событий в JavaScript
- 4. Порядок обработки событий Adobe Flex/Actionscript
- 5. Каков порядок обработки событий для функции разлива в Reactive-Banana?
- 6. Измените порядок обработки события мыши
- 7. Ошибка обработки событий обработчика событий
- 8. SQL Порядок обработки
- 9. JSF порядок обработки ввода
- 10. Порядок обработки SynchronizationContext.Post
- 11. Java поток Порядок обработки
- 12. Django templatetag «порядок обработки»
- 13. Порядок обработки многоядерных потоков
- 14. SQLServer порядок обработки записей
- 15. Порядок увольнения кешированных событий
- 16. Порядок контрольных событий
- 17. javascript выполнение событий порядок
- 18. Javascript OnClick порядок событий
- 19. порядок выполнения событий
- 20. порядок событий onclick
- 21. порядок событий javascript?
- 22. порядок событий в UserForm
- 23. Порядок выполнения Javascript-событий
- 24. Порядок событий в AuthorizeAttribute
- 25. распределенной обработки событий
- 26. JQuery событий и обработки
- 27. Временное приостановление обработки событий
- 28. C# Методы обработки событий
- 29. Кнопка обработки событий
- 30. наследование обработки событий (C++)
будет называться родительским обработчиком или нет? – Andrew
Вызывается родительский обработчик, если он не предотвратит это событие - см. Мой (отредактированный) ответ – Pointy
Спасибо! это очень полезно для меня. – Andrew