我有一个面向底部的弹出框,我希望它比默认弹出框更宽容,一旦鼠标离开触发器,默认弹出框就会消失。
$('#example').popover({
html: true,
trigger: 'hover',
container: '#example',
placement: 'bottom',
content: function () {
return '<div class="box">here is some content</div>';
}
});
只要鼠标悬停在触发器或弹出内容上,我就让它保持打开状态,但这对用户来说很难,因为他们必须在不离开这些区域的情况下从触发器元素到箭头再到内容为了与弹出框交互。有两种解决方案,但都不起作用:
1)延迟选项应该这样做。添加
delay: {hide: 500}
到 popover 调用后,popover 会在鼠标离开后打开,但在它消失之前重新进入 trigger elem 或 popover 并不会告诉 bootstrap 保持 popover 打开,因此在初始超时结束时消失。
2)加宽箭头的包含元素,以便鼠标从触发元素到触发元素之间的背景和弹出框到弹出框的工作(然后鼠标永远不会离开触发器/元素)。以下作品除了箭头是用重叠的 CSS 边框绘制的,所以背景不透明:http: //jsfiddle.net/HAZS8/
.popover.bottom .arrow {
left: 0%;
padding-left:50%;
padding-right:50%;
}
解决方法是用 jquery 硬连线 mouseover 和 mouseleave 事件,或者用图像替换重叠边框箭头。更好的修复?