Javascript jQuery qtip插件:旧的弹出窗口仍然显示在新的弹出窗口后面。如何解决?

Javascript jQuery qtip插件:旧的弹出窗口仍然显示在新的弹出窗口后面。如何解决?,javascript,jquery,qtip,Javascript,Jquery,Qtip,这是jquery1.9.0。我使用qtip1.0.0-rc3,我从所有$.browser代码中去掉了它(因为它从1.9.0开始就消失了)。我附加了一个简单的、裸露的骨骼(现在甚至没有重新设计样式)提示。完整功能如下: // Function to report a parse error function reportParseError(parseError, msgHandle, textArea) { // Find the inner link element -- there

这是jquery1.9.0。我使用qtip1.0.0-rc3,我从所有
$.browser
代码中去掉了它(因为它从1.9.0开始就消失了)。我附加了一个简单的、裸露的骨骼(现在甚至没有重新设计样式)提示。完整功能如下:

// Function to report a parse error
function reportParseError(parseError, msgHandle, textArea)
{
    // Find the inner link element -- there is only one, so this is "safe".
    var link = msgHandle.find("a");

    link.text("line " + parseError["line"]);

    // Add an onclick hook to the link. When clicking on the link, the caret
    // in the text area will move to the position of the error.
    link.on("click", function(e)
    {
        e.preventDefault();
        textArea.focus().setCursorPosition(parseError["offset"]);
    });

    link.qtip({
        content: parseError["message"],
        show: "mouseover",
        hide: "mouseout",
        position: {
            corner: {
                target: "topMiddle",
                tooltip: "bottomMiddle"
            }
        }
    });

    // Show the message
    msgHandle.show();
}
此函数满足我的要求(提示显示在链接上方)

问题是,当提示的先前内容(解析消息可能相当大)大于新内容时:我会在鼠标盖上看到新内容下方的旧内容(这两个内容在鼠标盖上消失)

你如何解决这个问题

编辑:仔细考虑后,观察到的行为似乎是预期的:每次触发此功能时,都会创建一个新的工具提示。这意味着提示需要在“init time”(即当document.ready()时)附加,并在需要时填充适当的内容。我说得对吗?

好的,回答赛尔夫

我根本无法让qTip2工作,所以qtip1就是

问题是,正如我发现的,工具提示(实际上是div)已经创建,但从未被销毁


解决方案是在document.ready()上创建两个虚拟工具提示,在重新创建它们之前销毁它们,因为我无法抓住工具提示上的句柄来更新它们的内容。

当鼠标悬停在同一元素上时,您会看到两个QTIP?是的,完全正确。我怀疑实际上有两个以上的qtip,所有的qtip都在下面,但我可能错了。你的代码中的
link
是什么?这是从哪里来的?它是
a
类型的DOM元素。我将粘贴更多代码。同意,使用qTip 2。另外,我认为您需要将qTip分别附加到每个元素:
link.each(function(){$(this.qTip();})