2011-04-14 63 views
4

我有一个工具提示会出现在任何带有标题:jQuery的工具提示不会消失

$("[title!=]:not(IFRAME)").tooltip(); 

我有可以添加或删除的人的名单,您单击删除按钮即将其定位在该人员上方,然后单击该人员将该人员换为其他人员。

当您去点击删除按钮时,工具提示出现,因为该项目有一个。但是一旦你将这个人交换出去,工具提示就不会消失。

我敢肯定,原因是一旦这个人被删除,你没有鼠标,所以工具提示永远不会消失。

我尝试这样做:

$('.remove-player-large a').click(function() { 
    $("[title!=]:not(IFRAME)").tooltip().hide(); 
}); 

,但没有运气 关于如何解决此问题有什么建议?

这有道理吗?

回答

0

在您移除此人之前,请将其发送给.mouseout()事件。这将触发工具提示的正常鼠标行为,并应隐藏工具提示(如果它真的在鼠标移出时消失)

+0

它不,它只是隐藏它。所以这可能会导致内存泄漏。 – 2012-04-22 04:11:38

1

删除工具提示元素以及链接。

$('.remove-player-large a').click(function() { 
    $('.tooltip').remove();//remove the tool tip element 
}); 

,如果你不知道该提示元素的类名,你将需要使用萤火检查,或者您也可以在工具提示源代码

+2

我知道这是一个古老的问题,但我发现它在谷歌搜索。这是行不通的,因为它也会删除页面上所有其他元素的工具提示。 – 2012-04-22 04:11:18

1

我有这个同样的问题,找到它正如我看到的,这里没有一个有效的解决方案,上面提出的问题的正确答案是使用JQuery工具api获取正确的工具提示元素,并在删除工具提示的所有者之前将其删除。

var t = $('#object_to_remove').data('tooltip'); 
if(t) t = t.getTip(); 
if(t) t.remove(); 
$('#object_to_remove').remove(); 

的如果(t)的片段是必要的,这样,如果这一个提示任一不连接或尚未叫不会错误。

由于它们被延迟添加到DOM t.getTip可能会返回未定义的(这意味着工具提示数据仍然存在于title属性中,因此不会执行清理操作,因为它将被拥有DOM元素删除) 。

5

您可以使用hideTooltip()函数隐藏工具提示。

var $tooltip = null; 
$(function(){ 
    $tooltip = $("input[type='text']").tooltip({ 
     // place tooltip on the right edge 
     position: "center right", 
     // a little tweaking of the position 
     offset: [-2, 10], 
     // use the built-in fadeIn/fadeOut effect 
     effect: "fade", 
     // custom opacity setting 
     opacity: 0.6 
    }); 
    $("#close").click(function(){ 
     hideTooltip(); 
    }); 
}); 
function hideTooltip() 
{ 
    if($tooltip) 
    { 
     $tooltip.each(function(index){ 
      var $this = $(this).data('tooltip'); 
      if($this.isShown(true)) 
       $this.hide(); 
     }); 
    } 
} 
2

jQueryUI的提示具有与iPad的问题,如果我们的页面上的任何地方点击所以这个简单的解决方案为我和工具提示不会消失工作在iOS 6,IOS 7,IOS 8设备

$("#selector ").tooltip("close");

you can use these method

0

jQueryUI的提示台iPad的有点相关的问题是优雅的回答here

1

我认为最干净的方法是调用这个命令:

$("#your-element").tooltip('destroy'); 

总之,它会删除你的当前工具提示功能和#your-element回到正常状态。

这是一个官方文档:https://api.jqueryui.com/tooltip/#method-destroy