我试图在点击事件中显示/隐藏jquery-ui工具提示。此外,我不希望它显示鼠标进入/离开时隐藏。
这是一个正常工具提示的小提琴:http://jsfiddle.net/Michael_0/sLhD9/ (不幸的是,jsfiddle似乎无法从google cdn中包含jquery-ui?)。
我有想法在初始化时禁用工具提示然后在显示它之前启用它,它可以工作,但是当鼠标离开目标时我无法阻止工具提示隐藏。
$("#myDiv").tooltip({
disabled: true,
content: function () {
return "<div>Custom content</div>"
}
});
$("#myDiv").click(function () {
$(this).tooltip("option", "disabled", false);
$(this).tooltip("open");
});
答案 0 :(得分:1)
要执行此操作,您需要取消绑定默认事件处理程序:
$("#myDiv").unbind('mouseover');
$("#myDiv").attr('ttVisible','no');
$("#myDiv").click(function() {
if($("#myDiv").attr('ttVisible') == 'no') {
$("#myDiv").tooltip('open');
$("#myDiv").unbind('mouseleave');
$("#myDiv").attr('ttVisible','yes');
} else {
$("#myDiv").tooltip('close');
$("#myDiv").attr('ttVisible','no');
}
});
您可以跟踪当前状态但是适用于您,我使用了一个名为ttVisible的属性。 jQuery UI似乎没有以任何方式公开工具提示的当前状态。