使用ajax回调时,jqueryui工具提示无法关闭

时间:2013-03-28 01:34:24

标签: jquery jquery-ui jquery-ui-tooltip

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

2 个答案:

答案 0 :(得分:1)

通过将以下内容插入工具提示...

,您可以在一定程度上缓解此问题
close: function( event, ui ) {
    $(".ui-tooltip").hide();
}

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

答案 1 :(得分:0)

我认为只有大量链接如此紧密地结合在一起才能引起问题。如果你把它们分散一点,我就不会看到同样的问题。这是很多ajax呼叫快速连续发射。

我刚刚将<p>no link</p>插入你的小提琴中,为它增加了空间

new fiddle link