Twitter bootstrap 引导工具提示消失目标

Twitter bootstrap 引导工具提示消失目标,twitter-bootstrap,tooltip,Twitter Bootstrap,Tooltip,我已经安装了Bootstrap,需要一些关于它的JavaScript/jQuery部分的帮助 我的HTML如下所示: <a href="#" data-toggle="tooltip" title="Some tooltip text!">?</a> <!-- Generated markup by the plugin --> <div class="tooltip top"> <div class="tooltip-in

我已经安装了Bootstrap,需要一些关于它的JavaScript/jQuery部分的帮助

我的HTML如下所示:

<a href="#" data-toggle="tooltip" title="Some tooltip text!">?</a>

 <!-- Generated markup by the plugin -->
 <div class="tooltip top">
      <div class="tooltip-inner">Some tooltip text!</div>
      <div class="tooltip-arrow"></div>
</div>
我的JavaScript:

<script type="text/javascript">

    jQuery(function ($) {
        $("a").tooltip()
    });

</script>

工具提示在悬停状态下正常工作,但是,在移出元素后,整个元素将消失。基本上,您只能在其上悬停一次,然后将a标记设置为display:none;。这是为什么?

我想出来了。我看到很多人都面临这个问题,所以也许这会有所帮助


我只是下载了最新的jquery-1.11.1.min.js并安装了它。这样做之后,它现在可以正常工作了。

这是一个老版本,但我今天在一个网站上遇到了它,所以我会回答,以防它最终对其他人有用

如果您已在站点上加载,则:

jquery的触发器方法,并调用它来宣布工具提示已隐藏:

elem[ type ]();
…从而隐藏附加工具提示的图元

最好的修复方法是停止使用prototype.js,它以与现代标准不兼容的方式扩展DOM

如果你不能杀死prototype.js,第二个最好的修复方法是避免使用引导工具提示。浏览器工具提示工作正常

如果确实需要这两个选项,则可以在引导过程中插入tooltips.js以更改隐藏事件和显示事件的名称:

diff --git a/bootstrap/js/src/tooltip.js b/bootstrap/js/src/tooltip.js
index ee721a1..eca1726 100644
--- a/bootstrap/js/src/tooltip.js
+++ b/bootstrap/js/src/tooltip.js
@@ -81,6 +81,10 @@ const Tooltip = (() => {

+  // Leading underscore on _hide and _show to rename hide/show events. This
+  // is important because prototype.js supplies Element.hide and
+  // Element.show, so if those names are used here, jquery will discover
+  // and call the prototype-supplied methods when .trigger is called.
   const Event = {
-    HIDE       : `hide${EVENT_KEY}`,
+    HIDE       : `_hide${EVENT_KEY}`,
     HIDDEN     : `hidden${EVENT_KEY}`,
-    SHOW       : `show${EVENT_KEY}`,
+    SHOW       : `_show${EVENT_KEY}`,
     SHOWN      : `shown${EVENT_KEY}`,
或者,您可以使用猴子补丁:

!function (Event) {
  Event.HIDE = '_' + Event.HIDE
  Event.SHOW = '_' + Event.SHOW
}(jQuery.fn.tooltip.Constructor.Event)
您只需在自己的代码中意识到事件名称已更改,以防挂起它

!function (Event) {
  Event.HIDE = '_' + Event.HIDE
  Event.SHOW = '_' + Event.SHOW
}(jQuery.fn.tooltip.Constructor.Event)