2

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

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

4

2 回答 2

3

当您要求 QTip2 方式时,就是这样。在您的 QTip2-initialization 中,添加以下内容:

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 测试。资源

于 2014-02-28T10:06:34.333 回答
1

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

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

你也可以看看这里:

[已解决] 删除原始元素时如何销毁qtip

[已解决] 重建 DOM 时清除 qtips

于 2012-06-27T19:51:03.917 回答