jquery-plugin qTip を使用しています。ページ内のすべてのツールチップを破棄するコマンドは何ですか?
私は試した:
$('.option img[title], span.taxonomy-image-link-alter img[title]').qtip("destroy");
しかし、うまくいきませんでした...ありがとう
jquery-plugin qTip を使用しています。ページ内のすべてのツールチップを破棄するコマンドは何ですか?
私は試した:
$('.option img[title], span.taxonomy-image-link-alter img[title]').qtip("destroy");
しかし、うまくいきませんでした...ありがとう
私は解決しました$(".qtip").remove();
qTip2 はこのスクリプトの新しいバージョンですが、1 つ指摘したいことがあります。
$(".qtip").remove();
このコードはすべてのツールチップを破壊したわけではなく、単にコンテナーを削除しただけです。ツールチップを呼び出したオブジェクトに関連付けられたすべてのハンドラーとイベントは、ブラウザーのメモリで引き続き利用できます。
qTip でツールチップとそのハンドラーを完全に削除するには、次を使用する必要があります。
$(mytooltip).qtip("destroy");
また
$(mytooltip).qtip('api').destroy();
ただし、qTip2ではこれを使用しています:
$(mytooltip).remove();
自動的に API を呼び出し、ツールチップとそのハンドラーを完全に破棄します。
$('.qtip').each(function(){
$(this).data('qtip').destroy();
})
qtip("destroy")
バグがあり (バージョン 2.1.1)、すべてをクリアするわけではありません。
私はこれを適切な回避策として見つけました:
// don't call destroy if not needed
if (element.data("qtip")) {
// the 'true' makes the difference
element.qtip("destroy",true);
// extra cleanup
element.removeData("hasqtip");
element.removeAttr("data-hasqtip");
}
バギーに見えます。これで運が良かったのですが、元のタイトルは復元されません。私destroy
はそれもしないと思います...
$('span.taxonomy-image-link-alter img')
.filter(function(){return $(this).data('qtip');})
.qtip('destroy');
qTip なしで要素を呼び出すことはできないようですdestroy
-サイレントに失敗することはありませんが、例外をスローしてループを停止します。
私はAPIコールを経験しました
$(selector).qtip('destroy')
特に複数のqtipを同時に使用する場合、すべてのqtipデータを確実に削除するわけではありません。
私の場合、目に見えるqtip を削除する必要があり、この回避策をうまく使用しました。
$(selector).removeData('qtip');
$('.qtip :visible').remove();
if ( jQuery( '.qtip' ).length > 0 )
{
jQuery( "#IdElement").qtip("destroy");
}