以下代码qTip适用于我并生成工具提示:
$('a.ppname[rel]').live('mouseover', function() {
$(this).qtip( {
content : {
url : $(this).attr('rel')
},
position : {
corner : {
tooltip : 'leftBottom',
target : 'rightBottom'
}
},
style : {
border : {
width : 5,
radius : 10
},
padding : 10,
textAlign : 'center',
tip : true, // Give it a speech bubble tip with
// automatic corner detection
name : 'cream' // Style it according to the preset
// 'cream' style
}
});
});
});
但是qTip并没有从dom中移除,有时它只是消失并再次出现,我得到了很多打开的工具提示:
我看着dom,qtip似乎没有被删除但只是设置隐形。我需要一些简单的逻辑来破坏工具提示。例如。如果a.ppname集中注意力并且不再集中注意力,我就可以摧毁它。但是在javascript中会是什么样子?任何想法?
更新:我将jQuery降级为1.3.2 recommended for qTip。我没有得到保持打开的工具提示,但现在还有另一个问题:
当我将鼠标悬停在下一个项目时,现在我无法删除的工具提示似乎出现了。请提供一些如何销毁工具提示的建议。
更新:使用
$('a.ppname[rel]').each(function(){
在代码的第一行解决了问题。但这导致了另一个问题,我在这里描述了qTip tooltip does not appear, jQuery。似乎是一个两难的困境^:D
答案 0 :(得分:2)
我认为你想要的是
$('a.ppname[rel]').qtip({
content : {stuff},
style : {stuff},
position: {stuff},
show: 'mouseover',
hide: 'mouseout'
})
答案 1 :(得分:1)
您可以在隐藏工具提示时通过调用destroy
方法从DOM中删除工具提示。试试这个(感谢Matt为我复制和修改的例子):
$('a.ppname[rel]').qtip({
content : {stuff},
style : {stuff},
position: {stuff},
show: 'mouseover',
hide: 'mouseout',
onHide: function() { $(this).qtip('destroy'); }
});