簡體   English   中英

jQuery UI工具提示何時算作初始化?

[英]When does a jquery UI tooltip count as initialized?

我正在使用自定義的jquery UI工具提示,效果很好。 現在,我想在工具提示顯示之前有一個特定的元素需要延遲。 我使用show:{delay:1000}作為選項,也可以。 我在document.ready函數中定義了工具提示。

問題是,我找不到通過setter方法設置延遲選項的位置。 每當我嘗試這樣做時,都會出現錯誤“初始化前無法在工具提示上使用該方法”。 我當前的解決方法是使用選項集重新定義此元素的整個工具提示,這很難看。 在什么時候可以實際在已經定義的工具提示上使用二傳手方法?

編輯以添加示例代碼:

$(document).ready(function () {

    $('#selector1').tooltip({
        tooltipClass: 'myTooltip',
        content: function () {
           return genCustomContent();
        }
    });

    $('#selector1 #subElement').tooltip({
        tooltipClass: 'myTooltip',
        show: {delay : 1000},
        content: function () {
           return genCustomContent();
        }
    });
}

上面是我當前的解決方法代碼的樣子。 我沒有明確地在其他任何地方調用該工具提示,因為我認為沒有必要這樣做。 現在,我想要的選項的設置器應如下所示:

$( "#selector1 #subElement" ).tooltip( "option", "show", {delay : 1000});

我嘗試在$(document).ready()函數中的工具提示聲明之后直接調用它,顯然沒有用。 我還嘗試在其余代碼的中間某個地方調用它,該代碼在$(document).ready()運行正常之后才能很好地執行。 無論哪種方式,我都會收到錯誤消息。

我無法推斷出真正的問題是什么。 但是我認為這與選擇工具提示元素進行初始化的方式有關。

HTML

<button title="tooltip">normal</button>
<button id="delay" title="this has 1 s delay">delay button</button>

腳本

  $("[title]").tooltip({
         position: {
             my: "left+15 center",
             at: "right center"
         },
         show: false,
         hide: false
     });
     $("#delay").tooltip("option", "show", {
         delay: 1000
     });

看到這個演示

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM