Twitter Bootstrap 在元素中间的位置错误

7ivaypg9  于 2022-12-07  发布在  Bootstrap
关注(0)|答案(3)|浏览(152)

我通过 AJAX 调用在页面中放置了一些html元素,所以我调用了如下的工具提示:

$(document).on('hover','.has-tooltip',function(){
    $(this).tooltip('show');
});

我也试过用这个:

$('body').tooltip({
    selector: '[rel=tooltip]'
});

但问题依然存在。
问题是工具提示显示在触发元素的正中间,而不是在其外边界旁边。
令人讨厌的是,这样工具提示部分隐藏了射击元素。
是否可能是使用.on()调用工具提示导致了该问题?
有什么解决办法吗?我该如何调整工具提示显示的元素的距离呢?
这是HTML

<a 
    style="display:block" 
    data-placement="left" 
    data-original-title="Add" 
    class="has-tooltip pull-right icon-black" 
    rel="tooltip" href="#"
>
<i class="icon-plus"></i> 
</a>
ltqd579y

ltqd579y1#

我猜这是一个 Bootstrap 错误。我已经更新到2. 3. 1,问题(部分)解决了(在某些场合仍然会发生,但我不知道为什么)。
2.3.1变更日志显示:

fix delegated data-attrs for popover/tooltip
iecba09b

iecba09b2#

你为什么不把工具提示附加在你 AJAX 调用成功上呢?

$.ajax({
    success: function(){
        $('.has-tooltip').tooltip();
    }
})
xhv8bpkk

xhv8bpkk3#

在第一个代码中,您使用hover事件并不存在您必须使用mouseentermouseover事件
在第二段代码中,您将tooltip()添加到body标记而不是链接。
我将您的代码更改为以下代码,现在它可以正常工作了。您可以看到here的现场演示:

$('body').delegate('a.has-tooltip', 'mouseenter', function() {
    $(this).tooltip('show');
});

有什么问题尽管问。

相关问题