我想使用jQuery UI的工具提示功能,但是我需要它,所以当你点击一个元素(在我的情况下是一个图像)时,工具提示会保持打开状态。可以这样做吗?我看不到任何选择。
http://api.jqueryui.com/tooltip/
更新这里是我的代码。我认为第4行应该可行,但遗憾的是:
HTML
<img class="jqToolTip" src="/query.gif" title="Text for tool tip here">
的Javascript
$('.jqToolTip').tooltip({
disabled: false
}).click(function(){
$(this).tooltip( "open" );
// alert('click');
}).hover(function(){
// alert('mouse in');
}, function(){
// alert('mouse out');
});
答案 0 :(得分:0)
http://api.jqueryui.com/tooltip/#method-open
$('img.my-class').click(function() {
$(this).tooltip( "open" );
}
答案 1 :(得分:0)
我试图解决同样的问题,我无法在任何地方找到答案。我终于提出了一个解决方案,经过4个多小时的搜索和实验后才能运行。
我做的是:
//This is a naive solution that only handles one tooltip at a time
//You should really move clicked as a data attribute of the element in question
var clicked;
var tooltips = $('a[title]').on('mouseleave focusout mouseover focusin', function(event) {
if (clicked) {
event.stopImmediatePropagation();
}
}).tooltip().click(function() {
var $this = $(this);
var isOpen = $this.data('tooltip');
var method = isOpen ? 'close' : 'open';
$this.tooltip(method);
//verbosity for clarity sake, yes you could just use !isOpen or clicked = (method === 'open')
if (method === 'open') {
clicked = true;
} else {
clicked = false;
}
$this.data('tooltip', !isOpen);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.10.2/jquery-ui.min.js"></script>
<link href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.10.2/themes/redmond/jquery-ui.css" rel="stylesheet" />
<a href="#" title="That's what this widget is">Tooltips</a>
希望这将有助于未来的Google员工。
部分感谢this post