1

jquery fullcalendar (イベントのダブルクリック時) で qtip プラグインを使用しています。

ページにモーダル ツールチップ ウィンドウを作成します。このツールチップ ウィンドウでは、いくつかの ajax コンテンツを読み込み、いくつかの関数 (バインドされたイベントとのリンク、カレンダー上のイベントの削除など) を呼び出していますが、これは私が考える問題ではありません。

初めてツールチップを開くと、すべて問題ありません。2 回目以降の開始時に、jQuery セレクター (ID による選択) が 2 回以上起動されます。

生成されたコードを FireFox の Webdeveloper-Toolbar で確認しました。DOM で作成されたすべてのツールチップを見ました (ダブルクリックするたびに DOM でツールチップが作成されるため、そこに多くのコピーがあります)。ツールチップ (ツールチップの標準機能) を閉じた後、ツールチップは常に DOM に存在します (ツールチップを開くたびに「ゴースト」が作成され、表示されませんが、jquery セレクターはそれを見つけます)。

同様の問題をいくつか読みましたが、解決策がわかりません。

この「ゴースト」を削除するにはどうすればよいですか。「ゴースト」はメモリを必要とし、未定義の結果を生成するためです (たとえば、同じ ID を持つ複数の要素)。

たとえば、 $('.qtip').remove(); を試します。および $(this).parents... などを使用したこのような他のソリューション。結果はありません。

または、間違った場所で削除を呼び出します。最初の試行: qTip の hideEvent で削除します。2 番目の試行: カレンダーのイベントをダブルクリックします。--> どちらにも影響はありません。

解決策をどうもありがとう。

ちち

返信ありがとうございました。

4

1 に答える 1

0

qTip は素晴らしいです。削除する必要はありません。問題に直面してください!

qTipでも同じ問題がありました。どのqTipバージョンを使用していますか? qTip2に切り替え!この問題を修正します。

ジャニフェンが彼のコメントで言っているように、私は使用しました

$('a.ppname[rel]').qtip({
   content : {stuff},
   style : {stuff},
   position: {stuff},
   show: 'mouseover',
   hide: 'mouseout',
   onHide: function() { $(this).qtip('destroy'); }
});

DOM から qTip を削除します。qTip2 がこれを処理します。これがqTip2の使用例です。

その他の例: qTip2 デモ

于 2011-01-19T07:05:35.407 に答える