我正在使用jQuery和Twitter Bootstrap,并且希望在将鼠标悬停在链接上时显示tooltip。但是,当我第一次将鼠标悬停在链接上时,工具提示不会显示,但如果我将鼠标移开并重新打开,则每次都会对该链接起作用。
我在页面上有几个:
<a href="#" onmouseover="$(this).tooltip();" class="postAuthor" data-original-title="@username">Full Name</a>
我创建了一个jsFiddle来演示:jsFiddle。任何帮助将不胜感激 - 提前感谢!
答案 0 :(得分:3)
当您第一次将鼠标悬停在元素上时,您正在实例化该元素上的插件,然后插件在该元素上的后续鼠标悬停时按预期工作。
<强> JavaScript的:强>
// tooltip demo
$('div').tooltip({
selector: "a[data-toggle=tooltip]"
})
<强> HTML:强>
<div style="text-align: center; width: 100%; margin-top: 50px;">
<a href="#" data-toggle="tooltip" class="postAuthor" data-original-title="@username">Full Name</a> <p/><p/>
<a href="#" data-toggle="tooltip" class="postAuthor" data-original-title="@username">Full Name</a><p/>
<a href="#" data-toggle="tooltip" class="postAuthor" data-original-title="@username">Full Name</a><p/>
<a href="#" data-toggle="tooltip" class="postAuthor" data-original-title="@username">Full Name</a><p/>
<a href="#" data-toggle="tooltip" class="postAuthor" data-original-title="@username">Full Name</a>
</div>
答案 1 :(得分:1)
.tooltip()
函数会在链接上启动工具提示效果,而非显示工具提示
<强>解释强>
在第一个悬停时触发$(this).tooltip()
时,它首先实例化插件。然后最后在第二次悬停时你会得到工具提示。
<强>解决方案:强>
在您的代码中添加:
$(function() {
$("a").tooltip();
});
答案 2 :(得分:1)
在按钮上出现工具提示时,我遇到了同样的问题。原来,工具提示没有显示,因为该按钮是第一次禁用的。有代码跟随尝试显示工具提示,该提示检查了其他一些值并启用了按钮。在第一个“运行”之后,启用了按钮,因此在第二个及以后的事件中工具提示确实/确实显示。我只是将“启用”代码移到了试图显示工具提示的代码之前,并且解决了我的问题。
答案 3 :(得分:-3)
我认为如果让JQuery处理mouseover事件并将所有代码放在$(document).ready
中会更干净类似的问题和解决方案可以在这里找到: Jquery onmouseover triggers on second event