На моей веб-странице есть кнопка интерфейса пользователя jQuery и меню:
$("#changeTemplateMenuBtn").button().click(function() {
let menu = $('#template-node-type-menu');
menu.show().position({
my: 'left bottom',
at: 'left top',
of: this,
});
$(document).one('click', function() {
menu.hide();
});
return false;
});
Предполагаемое поведение состоит в том, что при нажатии changeTemplateMenuBtn
должно появиться template-node-type-menu
, а когда зарегистрирован щелчок за пределами кнопки, меню должно скрываться. Тем не менее, у меня также есть Sigma.js диаграммы div; щелчки за пределами кнопки и за пределами блока Sigma скрывают меню, как и предполагалось, но щелчки за пределами кнопки, но внутри блока Sigma не скрывают кнопку. Я подозреваю, что экземпляр Sigma фиксирует щелчки и не позволяет им достичь обработчика $(document).one('click')
, но при чтении документов Sigma я не понимаю, как передавать эти события щелчка в соответствующих случаях, если это действительно то, что происходит.