我正在使用jQuery AJAX调用加载我的页面的一部分,并希望在该部分中使用qTips。通常在通过AJAX加载jQuery函数时,使用.live()
函数。有没有办法使用.live()
附加qTip或是否有qTip等效?
我听说qTip 2.0会有这种支持,但我不相信2.0已经准备就绪。
有没有人有解决方法?
以下是我认为应该有效的完整代码,但似乎不是:
$('.editquestion').live('click', function() {
$(this).qtip({
overwrite:false,
content: {
url: $(this).attr('href'),
data: { id: 5 },
method: 'get',
title: {
text: 'Edit Question',
button: 'Close'
},
cache: false,
},
position: {
target: $(document.body), // Position it via the document body...
corner: 'center' // ...at the center of the viewport
},
show: {
ready:true,
},
hide: false,
style: {
width: {
max: 550,
min: 550
},
height: {
max: 300,
min:300
},
padding: '14px',
border: {
width: 9,
radius: 9,
color: '#666666'
},
name: 'light'
},
api: {
beforeShow: function() {
// Fade in the modal "blanket" using the defined show speed
$('#qtip-blanket').fadeIn(this.options.show.effect.length);
},
beforeHide: function() {
// Fade out the modal "blanket" using the defined hide speed
$('#qtip-blanket').fadeOut(this.options.hide.effect.length);
}
}
});
return false;
});
编辑:也许我还应该提到qtip使用ajax来加载表单。
答案 0 :(得分:2)
看到这两个链接
Problem with qTip - Tips not showing because elements load after the script
jQuery dynamic qtip shows div, but gets slower and slower with every mouseover
答案 1 :(得分:0)
您应该在加载页面的新部分时附加qtip,而不是点击。
您还可以尝试检查qtip是否已附加到单击的对象,然后再单击附加。 Firebug会告诉你要检查什么。