2014-11-03 113 views
0

我在我的网页上设置了引导工具提示。当您翻转图像时,工具提示出现在工具提示中,我有一个链接,当我滚动实际工具提示单击链接时,它会消失。引导工具提示在悬停时保持打开状态

我的问题(我很奇怪也似乎没有任何地方找到答案)是我怎样才能得到提示时,我将鼠标悬停在竟然工具提示本身保持开放。

我见过,并试图一些解决方案,您可以设置一个延迟,但我宁愿没有朝那个方向走,因为我不喜欢这种效果。

任何帮助将是伟大的,谢谢!

+0

不知道它是否符合您的需要,但这几乎是popover的用途。你可以触发这些悬停等 – Lbatson 2014-11-03 19:05:54

+0

我也想用popover而不是工具提示。另一种选择是尝试延迟选项,请参阅http://getbootstrap.com/javascript/#tooltips-usage?它可能保持提示打开足够长的一个链接 – ckuijjer 2014-11-03 19:08:20

+3

点击请参阅此链接: [何灿I-保持Twitter的自举酥料饼开,直到 - 我的鼠标 - 移动 - 到 - 它] [ 1] [1]:http://stackoverflow.com/questions/7703878/how-can-i-hold-twitter-bootstrap-popover-open-until-my-mouse-moves-into-它 希望它帮助。 – carito 2014-11-03 19:08:22

回答

3
var originalLeave = $.fn.tooltip.Constructor.prototype.leave; 
$.fn.tooltip.Constructor.prototype.leave = function(obj){ 
    var self = obj instanceof this.constructor ? 
    obj : $(obj.currentTarget)[this.type](this.getDelegateOptions()).data('bs.' + this.type) 
    var container, timeout; 

    originalLeave.call(this, obj); 

    if(obj.currentTarget) { 
    container = $(obj.currentTarget).siblings('.tooltip') 
    timeout = self.timeout; 
    container.one('mouseenter', function(){ 
     //We entered the actual popover – call off the dogs 
     clearTimeout(timeout); 
     //Let's monitor popover content instead 
     container.one('mouseleave', function(){ 
     $.fn.tooltip.Constructor.prototype.leave.call(self, self); 
     }); 
    }) 
    } 
}; 


$('body').tooltip({ selector: '[data-toggle]', trigger: 'click hover', placement: 'bottom auto', delay: {show: 50, hide: 400}}); 
+0

太棒了。完全按照预期工作 - >现在将其设置为工具提示上的可配置选项(使用数据延迟作为HTML选项卡+对象选项)。从来没有像之前那样扩展一个引导对象。你有没有第二个机会来调整答案?如果不是的话 - 我可以去做一些研究并包括它。 – iivel 2016-10-24 12:28:13

0

试试这个。这可能有所帮助。

tooltip-trigger="focus manual" 
1

我这样做了。

我触发链路上的提示 - 这样的一个不得不被替换到相关的元素:

初始化工具提示:

$(document).ready(function() { 
     $('a').tooltip(); 
    }) 

保持开放的工具提示鼠标悬停+添加在第一次鼠标悬停辅助类(工具提示送花儿给人触发2个鼠标悬停事件在我的情况 - 让我不得不以确保只添加。主动在第一GO)

$(document).on('mouseover','.tooltip', function() { 
     var tooltipTrigger = $('a[aria-describedby="' + $(this).attr('id') + '"'); 
     if(! $(tooltipTrigger).hasClass('active')) { 
     $(tooltipTrigger).tooltip('show').addClass('active');    
     } 
    }); 

隐藏correspo在mouseout发生时发现工具提示...这使用工具提示内部触发,因为工具提示的小箭头仍然属于.tooltip,可能会导致出现一个案例,您可能会用光标从工具提示中跳出,但不够远,然后工具提示仍然打开...

$(document).on('mouseout','.tooltip-inner', function() { 
     $('a.active').tooltip('hide').removeClass('active'); 
    }); 
相关问题