如何让Bootstrap 3工具提示跟随鼠标?

Ste*_*ven 7 javascript jquery twitter-bootstrap twitter-bootstrap-3

我的网站上有一个链接列表,它们在Bootstrap工具提示中显示图像

<a data-html="true" data-toggle="tooltip" title="<img src='1.png' />">Item 1</a>
<a data-html="true" data-toggle="tooltip" title="<img src='2.png' />">Item 2</a>
<a data-html="true" data-toggle="tooltip" title="<img src='3.png' />">Item 3</a>

<script type="text/javascript" language="javascript">

    $(document).ready(function () {
        $('a').tooltip({
            placement: "right"
        })
    }

</script>
Run Code Online (Sandbox Code Playgroud)

这只是在所有链接的右侧显示工具提示.虽然图像是静态的,但我希望当用户移动鼠标时,工具提示图像会移动.

您可以在此站点上看到我想要做的示例:http://www.hearthpwn.com/decks/381677-druidereno.在右侧边栏上,有一个可以悬停的卡片列表,工具提示图像跟随鼠标移动.看起来他们不使用Bootstrap,我只是想模仿功能.

我在Bootstrap功能中没有看到任何操作:http://getbootstrap.com/javascript/#tooltips

谁知道我怎么做到这一点?

dav*_*rad 12

你不能在bootstrap中本地执行此操作.但您可以通过使用"代理元素"轻松模仿行为.诀窍是将图像工具提示附加到第二个元素,然后在图像内移动鼠标光标时根据鼠标位置更新元素位置.

一个图像 :

<img id="img" src="https://static.pexels.com/photos/6555/nature-sunset-person-woman-large.jpg" />
Run Code Online (Sandbox Code Playgroud)

一个代理元素,这里是一个<i>标签trigger: manual :

<i id="img-tooltip" data-toggle="tooltip" data-placement="right" title="Tooltip for image" data-animation="false" data-trigger="manual"/>
Run Code Online (Sandbox Code Playgroud)

设置代理服务器的元素positionabsolute,因此它可以趴趴走移动:

#img-tooltip {
  position: absolute;
}
Run Code Online (Sandbox Code Playgroud)

最后更新代理位置并在图像内部移动鼠标光标时显示工具提示:

$("#img").on('mousemove', function(e) {
  $("#img-tooltip").css({top: e.pageY, left: e.pageX });
  $('[data-toggle="tooltip"]').tooltip('show')
})
$("#img").on('mouseleave', function(e) {
    $('[data-toggle="tooltip"]').tooltip('hide')
})
Run Code Online (Sandbox Code Playgroud)

演示 - > http://jsfiddle.net/h2dL07ns/


更新了演示 - > http://jsfiddle.net/h2dL07ns/324/使用@Marks的pointer-events: none;建议.它消除了偶尔的闪烁.