2

我遇到了一个问题,如果您选择多个实例,使用带有 jQ​​ueryUI 工具提示的 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 ,但鉴于数据的高度易变性,这并不合适。

4

2 回答 2

1

您可以通过将以下内容插入工具提示来稍微缓解该问题...

close: function( event, ui ) {
    $(".ui-tooltip").hide();
}

虽然 div 应该在关闭时隐藏,但添加此代码会隐藏所有 ui-tooltip div。当一个关闭。我已经在原始消息中引用的小提琴上对此进行了测试,结果很好。

于 2014-01-31T17:03:38.330 回答
0

我认为只是大量链接如此紧密加上ajax调用导致了这个问题。如果你把它们分散一点,我看不到同样的问题。那是很多快速连续触发的ajax调用。

我刚刚在你的小提琴中插入了一个<p>no link</p>给它更多空间

新的小提琴链接

于 2013-03-28T04:13:12.613 回答