这是 jQuery 1.9.0。我使用 qTip 1.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();
}
这个函数做我想要的(提示出现在链接上方)。
问题是当提示的先前内容(解析消息可能非常大)大于新内容时:然后我在鼠标悬停时看到新内容下方的旧内容(两个内容都在鼠标移出时消失)。
你怎么解决这个问题?
编辑:经过更多思考,观察到的行为似乎是预期的:每次触发此功能时,都会创建一个新的工具提示。这意味着提示需要在“初始化时间”(即 document.ready() 时)附加,并在需要时填充适当的内容。我做对了吗?