Jquery Tools Tooltip不会消失

时间:2011-04-14 19:07:14

标签: jquery tooltip jquery-tools

我有一个工具提示,它会显示在任何标题上:

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

我有一个可以添加或删除的人员列表,您单击位于此人上方的删除按钮,您单击它以将该人替换为另一个人。

当您单击“删除”按钮时,工具提示会显示,因为该项目有一个。但是一旦你把那个人换掉了,工具提示就不会消失。

我很确定原因是,一旦删除了那个人你就没有鼠标输出,所以工具提示永远不会消失。

我试过了:

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

但没有运气 有关如何解决此问题的任何建议吗?

这有意义吗?

7 个答案:

答案 0 :(得分: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();
        });
    }
}

答案 1 :(得分:2)

jqueryUi 工具提示有ipad的问题,如果我们点击页面上的任何地方,工具提示不会消失,所以这个简单的解决方案适合我,并在ios 6,ios 7,ios 8设备上工作< / p>

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

you can use these method

答案 2 :(得分:1)

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

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

如果您不知道tooltip元素的类名,则需要使用firebug进行检查,或者您可以在工具提示源代码中找到它

答案 3 :(得分:1)

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

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

if(t)件是必要的,这样如果没有附加或尚未调用工具提示,这不会出错。

由于它们被懒惰地添加到DOM中.getTip可能返回undefined(这意味着工具提示数据仍然驻留在title属性中,因此没有清理要做,因为它将使用拥有的DOM元素删除)。

答案 4 :(得分:1)

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

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

简而言之,它会删除您当前的工具提示功能,并#your-element恢复正常状态。

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

答案 5 :(得分:0)

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

答案 6 :(得分:0)

jqueryui工具提示 iPad 的某些相关问题得到优雅回答here