我通过jigery .on事件在mouseover,img和div元素上应用带有qtip2的工具提示。有些元素有时需要在qtip显示时从DOM中删除,并且这种删除不在我的控制之下。 结果是qtip永远留在那里。如何在删除相关元素时删除qtip?
EDIT 底层元素不会被jquery的.remove()删除,但是使用innerHTML = ..所以qtip2自动删除在这里不起作用。
答案 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