9

jQuery UI カレンダーに加えて、Flowplayer の jQuery Tools フレームワーク (具体的にはツールチップ プラグイン) をテーブルで使用しています。

テーブルの各行には、その上下に行を挿入する機能があります。

これを行うとき、クリックしたオブジェクト (イベントとオブジェクト) を複製し、それを真上または真下に挿入します。

新しい行を追加した後、テーブルを更新し、要素の新しい ID を生成し、datepicker を再初期化し、ツールチップを再初期化しようとします。

インスタンスから完全に破棄して再適用する方法を探しています。

メソッドに似たものを探していdatepicker('destroy')ます。

$j($editRow).find('input.date').datepicker('destroy').datepicker({dateFormat: 'mm-dd-yy', defaultDate : defaultDateStr});

私はすでに試みました:

  1. mouseover イベントと focus イベントのバインドを解除するには: ツールチップを再度呼び出すと、元のオブジェクトに自動的に移動します。

  2. ツールチップ DOM 要素を非表示にし、ツールチップ オブジェクトをターゲットから削除して、再適用します。(1)と同じことが起こります。

自分で destroy メソッドを作成する方法はありますか?

4

5 に答える 5

5

あなたのアイデアとトムの答えに基づいて、私は3つのことが必要であることがわかりました。

  1. ツールチップターゲット要素から「ツールチップ」データを削除します
  2. ツールチップターゲット要素からイベントリスナーのバインドを解除します
  3. 要素を削除します(このツールチップアプローチを使用して、ヒントに任意のHTMLを使用できると仮定します)

したがって、この単純な関数でうまくいくはずです。破棄するツールチップのターゲット要素を含むjQueryオブジェクトを渡すだけです。

function destroyTooltips($targets) { 
    $targets.removeData('tooltip').unbind().next('div.tooltip').remove();
}
于 2013-02-14T20:27:36.413 に答える
5

kwicher の方法を試してみましたが、うまくいきませんでした。私は縮小されたコードを変更しようとしていましたが、変更を行う適切な場所を見つけたかどうかは完全にはわかりません.

しかし、私はこれを機能させました。ValidationFailed は、ツールチップも適用されているすべての入力フィールドに適用するクラスです。

$('.validationFailed').each(function (index) {
    $(this).removeData('tooltip');
});

$('.tooltip').remove();

これをいくつかの方法で試しましたが、新しいツールチップが適切に機能するのを妨げることなく、削除後にツール チップを追加できる唯一の組み合わせでした。

私が知る限り、ツールチップ クラスの削除は、実際のツールチップ div の削除を処理し、そのイベントも直接接続されています。.removeData を使用すると、ツールチップを後で再バインドできます。

于 2012-02-16T20:03:11.300 に答える
1

それでも必要な場合は、次のように実行できます。 - ツールチップ実装ファイルに次の関数を追加します。

destroy: function(e) {
        tip.detach();
        }

のどこか:

$.extend(self, {
...

私は最後のネイティブ関数の後に持っています。

次に、チップを削除したい場合は、次のように起動します。

$(.tip).data('tooltip').destroy();

それはトリックを行う必要があります

K

于 2011-05-08T23:01:58.557 に答える
0
   if($element.data('ui-tooltip')) {//if tooltip has been initialized
       $element.tooltip('destroy');
   }
于 2016-03-30T03:03:24.380 に答える
-1

手遅れかもしれません... ;-)
しかし、ここで「ツールチップ」のすべての方法を見つけることができます: http://www.w3schools.com/bootstrap/bootstrap_ref_js_tooltip.asp

同じ問題を抱えている通りすがりの人にヒントを残します。さまざまな「ツールヒント」アクション/オブジェクトの処理です。

于 2016-03-24T03:33:04.077 に答える