动态加载jQuery qTip代码

时间:2010-08-11 08:03:03

标签: jquery qtip

对于我正在编写的应用程序,我需要在提交表单时动态地将内容加载到DIV中。

此动态加载的内容需要在加载时自动显示多个工具提示(无需触发事件)。我之所以选择qTip是因为它有参数来执行此操作,这与我发现的大多数其他工具提示不同,后者需要一个事件来触发工具提示(如onmouseover)。

这是用于实现此目的的qTip代码:

$(function(){
    $('#someelement').qtip({
        content: 'This is the message!',
        show: { ready: true, when: false },
        hide: { false },
        position: {
            corner: {
                target: 'topLeft',
                tooltip: 'bottomRight'
            }
        },
        style: {
                        ............ styling code here................
            }
        }
    })
});

我尝试的任何形状或形式都可以正常使用。提示已成功显示。

但是,如果我将此代码与内容一起动态加载,则不会显示工具提示。

使用Malsup的优秀形式和Taconite插件加载内容。

任何想法都将不胜感激!

当然,如果您知道我可以用来实现相同类似效果的其他方法或插件,请不要羞于建议它。 :)

1 个答案:

答案 0 :(得分:2)

我之前遇到过这个问题,这就是我解决它的方法。将插件代码放在一个单独的函数中,并在文档就绪时调用它:

$(function(){
    loadQtip();
});

function loadQtip() {
    $('#someelement').qtip({
        content: 'This is the message!',
        show: { ready: true, when: false },
        hide: { false },
        position: {
            corner: {
                target: 'topLeft',
                tooltip: 'bottomRight'
            }
        },
        style: {
                        ............ styling code here................
            }
        }
    })
}

然后当您添加新数据时再次调用该函数:

...
complete: function() {
    loadQtip();
}

您可以找到点击,更改等事件,.live()方法可以解决问题,但是当您为元素设置插件时,不存在持久性方法。