2012-03-02 82 views
3

我目前正在嘗試創建文本選擇腳本,以便人們可以標記文本,然後讓它插入到表單中。是否可以通過函數調用顯示qtip?

因此,我想顯示一個鏈接「發送到表單」的彈出式菜單,但我在創建工具提示時出現了問題(從我的網站到處使用qtip),它發現文本是否有被標記與否(如果我的腳本不能複製任何內容,則不應該有鏈接)。

我使用這個腳本的選擇檢測:http://mark.koli.ch/2009/09/use-javascript-and-jquery-to-get-user-selected-text.html

哪裏目前存在的alert,應當有一個qtip後來打電話:

Kolich.Selector.mouseup = function(){ 
    var st = Kolich.Selector.getSelected(); 
    if(st!=''){ 
     alert("You selected:\n"+st); // here will be showQTipAtMouseButtonFixed() 
    } 
} 

現在的問題似乎是整個qtip專注於懸停。我當然可以圍繞.qtip()調用打包函數,但這並不能真正解決問題。然後,工具提示將附加到我的功能,但只有當我懸停它所連接的元素仍然顯示

這將與包裝的函數

function showQTipAtMouseButtonFixed() { 
    $('#content').qtip({ 
     content: 'Hello!', 
     position: { 
      target: 'mouse', 
      adjust: { mouse: false } 
     }, 
     hide: { 
      fixed: true 
     }, 
     style: { 
      tip: true, 
      classes: 'ui-tooltip-red' 
     } 
    }); 
} 

使用的this代替"#content"(這是我在相關的帖子看到的)也不行的qtip。

但我希望它始終處於活動狀態,並在Kolich.Selector顯示「現在顯示!」時顯示。

我還發現show: 'click'via Google暗示,但這也不是解決方案。它只適用於你真的假設點擊,但在我的情況下,它只是雙擊或鼠標移動或鍵盤。

這是可能與qtip或我必須從頭使用CSS display

回答

5

您是否嘗試過qtip的「show」功能?

function showQTipAtMouseButtonFixed() 
{ 
    $('#target').qtip({ 
     // your options 

     show: '', 
     hide: '', 

     content: { 
      prerender: true, // important 
      text: 'Whatever you want to display' 
     } 
    }).qtip('show'); 
} 
+1

謝謝@patrick ....添加prerender後:true,qtip工作! 它究竟做了什麼? – ram 2014-01-16 10:28:40

相關問題