问题描述
我正在使用 offcanvas 组件 (https://getbootstrap.com/docs/5.0/components/offcanvas/)。但是,我想知道当我在 offcanvas 窗口外单击时是否可以防止它关闭。当我按下 ESC 时,我设法阻止它关闭,但是当我在画布外单击鼠标时,没有办法(就文档而言)阻止它关闭。有人有想法吗?
编辑: 我设法通过监听 hide.bs.offcanvas 事件然后使用 e.preventDefault(); 让它工作到一半。但是现在我无法使用其默认关闭按钮关闭画布,因为它总是会取消隐藏事件。有什么想法吗?
解决方法
Bootstrap 向 body
添加一个点击监听器。因此,您可以将点击事件侦听器附加到 body
,并阻止事件传播...
document.body.addEventListener('click',function(e){
e.stopPropagation()
})