工具提示有时会保留在滑动div内的元素页面上

时间:2012-05-11 05:36:05

标签: javascript jquery css twitter-bootstrap

我们正在为其中一个项目使用引导程序,并面临提供的工具提示插件的问题。它实际上不是引导程序中的错误,但是在我们使用它的情况下会产生一个问题。

我们在内容div中有一个滑动滑动条。用于隐藏/显示工具提示效果的按钮。基于jQuery UI幻灯片的滑动效果。

问题是:

当我们点击隐藏侧边栏按钮,同时在幻灯片动画时将鼠标移出按钮悬停,有时候工具提示不会被隐藏,并且会停留在页面上。

这也发生在侧边栏上。当它发生时它看起来非常糟糕和错误。

我们如何解决这个问题?

4 个答案:

答案 0 :(得分:19)

Richard(https://github.com/r1ch0)在引导论坛上回答

在触发幻灯片动画之前,单击按钮时,只需手动隐藏工具提示。


$('#button').on('click', function () {
  $(this).tooltip('hide')
  $('#sidebar').slide() // replace with slide animation
})

复制自:https://github.com/twitter/bootstrap/issues/3446

发布在这里只是因为其他人可以找到它。

答案 1 :(得分:3)

我使用了Krunal贡献(+1 btw),这对我很有帮助,但没有完全解决问题。
当我按下按钮时,工具提示消失,但当我的鼠标悬停时,工具提示会再次卡住,直到我点击其他地方为止。

所以我发现在悬停时,以及聚焦元素时,工具提示会出现。
最后我写了这个:

$('button').on('click', function () {
    $(this).blur()
})

效果很好。
感谢。

答案 2 :(得分:2)

似乎有一个适当的解决方案(一个不涉及你手动清理的解决方案)https://github.com/twitter/bootstrap/pull/4104,希望很快就会发布。

答案 3 :(得分:1)

如果您使用的是自举工具提示,那么如何添加延迟选项:

jQuery('#example').popover(delay: { show: 100, hide: 100 })


如果工具提示类似于图像中的alt标记,则使用jQuery将其删除。

<script type="text/javascript">
jQuery(document).ready(function() {
  jQuery("img").removeAttr("alt");
});
</script>