6

jquery-1.9.1.jsと UIを使用していjquery-ui-1.10.3.custom.min.jsます。フォーム要素にマウスを合わせると、ツールチップが表示され、マウスアウトで消えます。しかし、現在のシナリオではボタンのツールチップが表示され、ボタンのクリック後も持続するため、そのアイテムのクリックイベントでそのツールリップを消したいです。したがって、ページに複数のツールチップが表示されます。クリックしたらすぐに非表示にする必要があります(以下はスクリーンショットです)。

ここに画像の説明を入力

以下のコードを使用しましたが、うまくいきません

 $(document).click(function() {
       $(this).tooltip( "option", "hide", { effect: "explode", duration: 500 } );
        });

この問題を解決する方法を教えてください。

編集

更新パネルを使用しています。それは問題を引き起こしますか?

4

6 に答える 6

8

jQueryUI のドキュメントによると、コードは閉じる方法のみを変更します。必要なのはclose http://api.jqueryui.com/tooltip/#method-closeです。

ただし、機能させるには、コードを少し変更する必要がある場合があります。コードから判断すると、アイテムに直接適用するのではなく、委任を使用します (他の何かがアイテムのツール ヒントを作成できるようにします)。ドキュメントによると、クローズは委任されたツールチップでは機能しません。

あなたは似たようなものが欲しいでしょう

$('.editButtons').tooltip().click(function() {
    $('.editButtons').tooltip( "close");
})
于 2013-07-24T11:50:41.610 に答える
2

古い質問であることは知っていますが、同じ問題に遭遇し、次の方法で解決しました。

これを使用してツールチップを開始したとしましょう:

$('[data-toggle="tooltip"]').tooltip();

以下は、クリック後にツールチップをフェードアウトします。フェード後、DOM から削除します (そうしないと、多くの非表示のツールチップが表示される可能性があります)。

$('[data-toggle="tooltip"]').click(function() {
    $('.tooltip').fadeOut('fast', function() {
        $('.tooltip').remove();
    });
});

これが誰かを助けることを願っています!

于 2016-03-21T09:37:13.007 に答える
2

汚いハックかもしれませんが、ツールチップ コンテナーに適用されるクラスである「ui-tooltip」を使用して選択することで、ツールチップ要素自体を非表示にすることはできません。

$('body').on("click","element_selector",function(event){
$('.ui-tooltip').hide();
});

「element_selector」を要素の適切なセレクターに置き換える必要があります。

于 2015-10-01T15:34:24.427 に答える