2012-05-24 69 views
2

我有jQuery插件Tooltipsy來爲鏈接生成工具提示。在這個工具提示中,我有其他鏈接到相關的對象。我希望它能在最初的鏈接上方彈出,如果我將鼠標移動到它上面點擊一個鏈接,我會保持不動。這可能嗎?有誰知道該怎麼做?如何讓tooltipsy停留在一個鏈接中可以點擊

回答

2

解釋我沒得到它繼續開放,不能再等下去了,所以我改成叫simpletip另一個提示插件提供我需要的功能。

Simpletip無法從鏈接自己獲取標題屬性,所以這是我用來實現該目的的代碼。編輯:我改變了代碼,以數據爲標題(兼容HTML5),而不是爲標題,讓我沒得阻止默認顯示所有標題:

$(".order_tooltip").simpletip({ 
    fixed: true, 
    position: 'top', 
    onBeforeShow: function(){ 
     this.update(this.getParent().data('title')); 
    } 
}); 
0

您可以在工具提示中放置一個關閉按鈕,並在點擊關閉按鈕時隱藏工具提示。

上提示的隱藏功能,可以調用作爲http://tooltipsy.com/methods.html#method-hide

+0

謝謝,但可能有數百個與這些工具提示連接的鏈接,所以不應該有任何點擊涉及。我可以讓鏈接停留一段指定的時間,但我希望能夠在工具提示窗口中執行類似.hover()的操作,以便只要鼠標在上面就可以保持打開狀態。 – olofom

0

直接回答你原來的問題,爲此工作我:

var hoverHand = false; 

    $('.hastip').tooltipsy({ 
      show: function (e, $el) { 
       $el.hover(function() { 
        hoverHand = true; 
       }, function() { 
        hoverHand = false; 
       }); 
       $el.fadeIn(100); 
      }, 
      hide: function (e, $el) { 
       var tooltipCloserInterval = setInterval(function(){ 
        if (hoverHand == false) { 
         $el.fadeOut(100); 
         $el.off("mouseenter mouseleave"); 
         clearInterval(tooltipCloserInterval); 
        } 
       }, 500); 
      } 
     }); 

實質上,您正在給用戶500毫秒使用setInterval將其鼠標移動到工具提示。在500ms後,它檢查鼠標是否仍在工具提示上,如果不是,則關閉工具提示。

相關問題