私はjquerycluetipプラグインを使用しており、ajaxを介して新しいコンテンツをロードしたら、開いているcluetipダイアログを削除する方法を見つけようとしています。新しいコンテンツの上にまだ表示されているダイアログボックスで立ち往生しているか、これを修正しようとした方法で、将来のすべての手がかりダイアログがまったく表示されなくなります。
これが私のコードです、助けてくれてありがとう。
dom readyで、以下のように手がかりをインスタンス化します。
//activate cluetip
$('a.jTip').cluetip({
attribute: 'href',
cluetipClass: 'jtip',
arrows: true,
activation: 'click',
ajaxCache: false,
dropShadow: true,
sticky: true,
mouseOutClose: false,
closePosition: 'title'
});
新しいコンテンツをロードするとき、次のコードがあります。私が抱えている問題は、$('。cluetip-jtip')。empty()が、読み込まれた新しいコンテンツでダイアログボックスが開かないようにする一方で、destroy関数は開いているダイアログボックスを削除せず、現在のオブジェクト。
$('.next a').live("click", function(){
var toLoad = $(this).attr('href');
var $data = $('#main_body #content');
$.validationEngine.closePrompt('body'); //close any validation messages
$data.fadeOut('fast', function(){
$data.load(toLoad, function(){
$data.animate({
opacity: 'show'
}, 'fast');
//reinitialise datepicker and toolip
$(".date").date_input();
//JT_init();
$('.hidden').hide();
//scroll to top of form
$("html,body").animate({
"scrollTop": $('#content').offset().top + "px"
});
//remove existing instance
//$('a.jTip').cluetip('destroy');
//remove any opened popups
$('.cluetip-jtip').empty();
//reinitialise cluetip
$('a.jTip').cluetip({
attribute: 'href',
cluetipClass: 'jtip',
arrows: true,
activation: 'click',
ajaxCache: false,
dropShadow: true,
sticky: true,
mouseOutClose: false,
closePosition: 'title'
});
});
});
return false;
});