2011-09-27 44 views
2

我使用cluetip插件和jQuery FullCalendar一起顯示事件詳細信息,這些信息非常適用。我想在每個描述中有一個用戶可以點擊的鏈接。但我不想讓用戶點擊每個事件來顯示信息。jQuery clueTip:在鼠標懸停時顯示/隱藏並點擊粘貼

是否有任何選項可以用來在鼠標懸停上顯示線索提示,將其隱藏在鼠標懸停上,但在點擊時使它變得粘滯?沒找到一個,但是我想這將使得非常直觀的行爲......

+0

如果有人知道建議這個功能(而不是黑客提示)的工具提示庫(jQuery或不),我很感興趣。 – lolesque

回答

0

終於找到了解決我的問題,工作方式 - 通過創建2個cluetips ......在「鼠標移開」的解決方案並沒有按預期工作: -/

var stickyTooltip = false; 
var tooltipClass; 
// ... 
$(eventElement).attr('title', event.title+'\n'+info).cluetip({ 
    splitTitle: '\n', 
    sticky: true, 
    activation: 'click', 
    closeText: 'Close', 
    onShow: function(ct, c) { 
     stickyTooltip = true; 
     $('#clickInfo').hide(); // #clickInfo is a span that tells user how to fix tooltips 
     tooltipClass = $(ct).attr('class'); 
    }, 
    onHide: function(ct, ci) { 
     stickyTooltip = false; 
    } 
}).cluetip({ 
    splitTitle: '\n', 
    sticky: false, 
    activation: 'hover', 
    onActivate: function(e) { 
     return !stickyTooltip; 
    }, 
    onShow: function(ct, c) { 
     $('#clickInfo').show(); 
     stickyTooltip = false; 
    }, 
    onHide: function(ct, ci) { 
     $(ct).attr('class', tooltipClass).toggle(stickyTooltip); 
    } 
}); 
1

更新工作示例:

<a class="title" href="#" title="Test tooltip 1">test 1</a> 

$(document).ready(function() { 
    var keepTooltip = false; 

    $('a.title').cluetip({ splitTitle: '|', sticky: true }) 
       .mouseout(function() { 
        if (!keepTooltip) { 
         $('#cluetip').hide(); 
        } 
       }); 

    $('a.title').click(function (e) { 
     e.preventDefault(); 
     keepTooltip = true; 
    }); 
}); 
+0

我很害怕這樣做時,用戶必須滾動兩次元素。一次激活/附加,一次實際觸發線索... – Bruiser

相關問題