2013-03-27 71 views
3

我想使用jQuery UI的工具提示功能,但是我需要它,所以當你點擊一個元素(在我的例子中是一個圖像)時,工具提示保持打開狀態。這可以做到嗎?我看不到任何選擇。這裏保持jQuery工具提示點擊打開?

http://api.jqueryui.com/tooltip/

UPDATE是我的代碼。我以爲四號線應該工作,但遺憾的是沒有:

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

是提示的圖像 – 2013-03-27 17:08:51

回答

0

我試圖解決同樣的確切的問題,我無法在任何地方找到答案。我終於想出了一個解決方案,經過4個多小時的搜索和試驗。

我所做的是這樣的:

  1. 停止傳播正確的路程,如果被點擊的狀態
  2. 增加了一個click處理程序來跟蹤狀態

//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>

希望這將有助於未來的粘性gler。

部分由於this post

0

http://api.jqueryui.com/tooltip/#method-open

$('img.my-class').click(function() { 
    $(this).tooltip("open"); 
} 
+0

上設置它只能在點擊的元素,並用工具提示的元素是不同的。否則它不會工作 – 2013-03-27 17:12:25

+0

我已經更新了我的答案,以做我認爲你所要求的。 – isherwood 2013-03-27 17:14:58

+0

結帳[this fiddle](http://jsfiddle.net/arunpjohny/aQqHz/)測試它 – 2013-03-27 17:16:09