0

我通过 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>
4

3 回答 3

0

为什么不将工具提示附加到 ajax 调用成功?

$.ajax({
    success: function(){
        $('.has-tooltip').tooltip();
    }
})
于 2013-03-21T18:31:56.870 回答
0

在您的第一个代码中,您使用hover的是不存在的事件。相反,您必须使用mouseentermouseover事件。

在您的第二个代码中,您添加tooltip()的是body标签而不是链接。

我将您的代码更改为以下代码,现在它可以工作了。你可以在这里看到一个现场演示:

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

随时问更多问题。

于 2013-03-21T19:53:59.030 回答
0

我猜这是一个引导错误。我已经更新到 2.3.1,问题(部分)解决了(在某些情况下仍然会出现,但我不知道为什么)。

2.3.1 的更改日志说:

fix delegated data-attrs for popover/tooltip
于 2013-03-26T21:35:57.060 回答