Я пытаюсь предотвратить щелчки по опрокидыванию Bootstrap popover и запускать обработчик onClick
на родительский элемент. Использование стандартного event.stopPropagation()
не, на самом деле, остановить распространение, и не его родной аналог:stopPropagation не мешает пузыриться с помощью Bootstrap popover
Please see the working reduced test case on JSBin.
Мой текущий подход (в пределах onClick
случае родителя) должен проверить, если целевой элемент находится внутри DOM в поповер в дерево (с использованием jQuery.has для удобства):
function onParentClicked(e) {
if (!$(this.refs.parentElement).has(e.target)) {
// click did NOT originate from popover
}
}
Этот подход в основном работает, но кажется Hacky обходной путь для простого использования stopPropagation
в onClick
обработчиком ребенка.
Возможно, это ошибка React Bootstrap? Или мне что-то не хватает в том, как я должен справляться с этой логикой?
Это 18 месяцев спустя, но когда я нажимаю кнопку в вашей скрипке, в сообщении говорится: «ничего не щелкнуло», и открывается всплывающее окно, которое, я думаю, вам нужно? Итак, я понимаю, что это было исправлено в реакционной бутстрапе сейчас? –