我正在使用jquery cluetip插件,并试图找出如何通过ajax加载新内容后删除任何打开的cluetip对话框。我要么停留在仍然显示在新内容之上的对话框,要么我尝试修复它的方法实际上删除了所有未来的cluetip对话框。
这是我的代码,感谢您的帮助。
在dom ready上我实例化cluetip,如下所示。
//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;
});
答案 0 :(得分:0)
您是否尝试触发cluetip来关闭打开的对话框?添加此项而不是使用$('.cluetip-jtip').empty();
$(document).trigger('hideCluetip');