从dom中删除元素时删除qtip

时间:2012-06-27 19:45:42

标签: jquery qtip2

我通过jigery .on事件在mouseover,img和div元素上应用带有qtip2的工具提示。有些元素有时需要在qtip显示时从DOM中删除,并且这种删除不在我的控制之下。 结果是qtip永远留在那里。如何在删除相关元素时删除qtip?

EDIT 底层元素不会被jquery的.remove()删除,但是使用innerHTML = ..所以qtip2自动删除在这里不起作用。

2 个答案:

答案 0 :(得分:3)

当您要求QTip2方式时,就在这里。在QTip2初始化中,添加:

events: {
    //this hide event will remove the qtip element from body and all assiciated events, leaving no dirt behind.
    hide: function(event, api) {
        api.destroy(true); // Destroy it immediately
    }
}

使用QTip 2.2.0测试。 source

答案 1 :(得分:1)

如果您可以将qTip更新为最新的每晚版本。然后尝试将此添加到您的qTip创建中:

$('#element').qtip({
   content : {stuff},
   style : {stuff},
   position: {stuff},
   show: 'mouseover',
   hide: 'click',
   onHide: function() { $(this).qtip('destroy'); }
});

你也可以看一下:

[Solved] How to destroy a qtip when the original element is removed

[Solved] clear qtips when rebuilding DOM