将鼠标悬停在悬停时保持打开状态

时间:2018-01-29 20:23:28

标签: angular ng-bootstrap bootstrap-popover

我已经设置了一个在悬停时触发NgbPopover的元素:

<a [ngbPopover]="popContent" popoverTitle="MyPopover" triggers="mouseenter:mouseleave">Hover me</a>

目前,当悬停元素时将显示弹出窗口,并在离开该区域时连续关闭。我想要实现的是当用户将其悬停时保持弹出窗口打开,并且仅在用户离开元素或弹出窗口时才将其关闭。

This SO question可能有关系,但从未得到答案。 Another related question得到了一些关注,建议的解决方案(例如this one)使用jQuery。

2 个答案:

答案 0 :(得分:3)

很抱歉,您的答案很晚,但是请使用两行代码来检查这个超级简单的解决方案:

<div  (mouseleave)="p.close()">
<button type="button" placement="left" (mouseenter)="p.open()" #p="ngbPopover" ngbPopover="Popover Content">Click me </button></div>

答案 1 :(得分:-2)

然后只需删除鼠标离开....

  <button type="button" class="btn btn-outline-secondary" ngbPopover="You see, I show up on hover!" triggers="mouseenter" popoverTitle="Pop title">
    Hover over me!
  </button>

否则,如果你说它只是想要关闭popover的鼠标输出那么......这有点困难,因为鼠标悬停在按钮上会打开。但我想你可以有一些mouseleave事件监听器。在我看来,似乎有些乏味的东西没有多大意义。