我遇到了一个问题,即如果选择多个实例,使用带有jQueryUI工具提示的ajax调用会导致工具提示无法关闭。
我在这里演示了http://jsfiddle.net/MHptk/11/
var html = '';
var testbox = $("#testid"); //div element
for (var i=0; i<25; i++) {
html += '<a href="#" title="test!">test!</a><br />';
}
testbox.html(html);
testbox.tooltip(
{tooltipClass:'preview-tip',
content: function(callback) {
$.ajax({url: '/echo/html/',
data: {
html: 'woop!',
},
method: 'post',
success: function(data) {
callback(data);
},
});
},
});
在链接上快速滚动鼠标,您将看到工具提示无法关闭。在我的现实生活中,我正在创建一个带有jquery ajax调用的表,该调用包含多个链接,这些链接本身将发出ajax请求。我也尝试使用open:来设置内容,但同样的问题也出现了。
对于一种解决方法,我认为我可以在创建表时直接填充标题attr,但鉴于数据的高度易变性,这不适合。
答案 0 :(得分:1)
通过将以下内容插入工具提示...
,您可以在一定程度上缓解此问题close: function( event, ui ) {
$(".ui-tooltip").hide();
}
虽然div应该隐藏在关闭状态,但添加此代码会隐藏所有ui-tooltip div。当一个人关闭。我已经在原始消息中引用的小提琴上测试了这个,结果很好。
答案 1 :(得分:0)
我认为只有大量链接如此紧密地结合在一起才能引起问题。如果你把它们分散一点,我就不会看到同样的问题。这是很多ajax呼叫快速连续发射。
我刚刚将<p>no link</p>
插入你的小提琴中,为它增加了空间