Мне нужно посмотреть детские события в Document
, но если дети перестают распространяться с помощью метода stopPropagation()
, я не могу слушать эти события у детей.Как слушать детские события, когда дети прекращают распространение
Может ли кто-нибудь знать лучший способ сделать это?
EDIT: Теперь я хочу, чтобы создать расширение хрома для мониторинга события узла DOM, но это событие можно остановить распространение, и это не очень хорошая практика, чтобы добавить дополнительный приемник ко всем узлам. Следующий пример покажет мой вопрос.
клиент HTML фрагмент
<body>
<input type="button" value="Click Me" id="b">
</body>
клиента JavaScript
var button = document.querySelector('#b');
button.addEventListener('click', function(e) {
console.log('Button has been clicked');
e.stopPropagation();
});
расширение хром сценарии содержание
document.addEventListener('click', function(e) {
console.log('Node(' + e.target.nodeName + ') has been clicked');
// this listener will not be invoked because event has been stopped
// propagation.
});
Задавая вопросы здесь всегда лучше, чтобы описать вашу реальную проблему, а не только проблемы с вашей попыткой решения. Это позволяет людям, читающим ваш вопрос, предлагать вам решения, о которых вы даже не подозреваете. Когда вы только описываете проблемы с решением, которое вы пробовали и не имеете описания реальной проблемы, мы мало что можем сделать за рамками решения, которое вы в настоящее время пытаетесь создать. Это называется проблемой [XY] (http://meta.stackexchange.com/questions/66377/what-is-the-xy-problem) и строго ограничивает, насколько хорошо люди могут вам помочь ». – jfriend00