0

私はjQuery UIのツールチップを使用していますが、最終的にはツールチップを最初の初期状態にリセットしようとしています.

「リセット」機能がないように見えるので、これを達成する方法はありますか?

これまでのところ、ツールチップをリセットできる close コールバック関数を使用してみましたが、ツールチップが閉じません。close コールバック関数を使用しているときにツールチップを閉じる方法について、ドキュメントには何も見つかりません。

jsFiddle リンク: http://jsfiddle.net/Handyman/mJMD5/

var $selector = $('div.content div.rounded_corners'),
    $timeout;

$selector.tooltip({
    items: 'a.detail',
    content: $loader,
    open: function(event, ui)
    {
        // test this with a timeout to find out what will happen if I use AJAX to bring in the content
        $timeout = setTimeout(function()
        {
            // replaces the loading image with this text, but changes the content for all tooltips, which is undesirable
            $selector.tooltip('option', 'content', 'sometimes you just have to wait a second');
        }, 2000);
    },
    close: function()
    {
        // reset the content back to the loading image
        $selector.tooltip('option', 'content', $loader);
        clearTimeout($timeout);

        // adding return true doesn't have any effect on if the tooltip closes or not
        return true;
    }
});
4

1 に答える 1

1

これが解決策です。次のようにしてツールチップを再初期化する必要があります。

close: function()
{
    // reset the content back to the loading image
    $selector.tooltip('close').tooltip('destroy').attr('title','hello');     

    clearTimeout($timeout);
    fnAddToolTip(); 
    // adding return true doesn't have any effect on if the tooltip closes or not
    return true;
}

ここにフィドルがあります:http://jsfiddle.net/dwaddell/87wV3/

フィドルに追加されたソリューションは次のとおりです。http://jsfiddle.net/dwaddell/mJMD5/1/

于 2013-05-15T20:04:21.560 に答える