Это 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()) и заполнена соответствующим содержимым, когда это необходимо. Я правильно понимаю?
link
в вашем коде? Откуда это? - person matthewpavkov   schedule 22.01.2013a
. Я вставлю больше кода. - person fge   schedule 22.01.2013link.each(function() { $(this).qtip(); });
- person matthewpavkov   schedule 22.01.2013div
для qTip каждый раз, когда запускаетсяreportParseError()
. Итак, старое сообщение все еще находится в DOM. Когда вы наводите курсор на ссылку, вы видите все подсказки, прикрепленные к этой ссылке. - person matthewpavkov   schedule 22.01.2013destroy
qtip каждый раз, когда он скрыт: craigsworks.com /projects/qtip/docs/api/#destroy Затем он будет каждый раз создаваться заново. Также есть способ обновить содержимое qTip: craigsworks.com/projects/qtip/docs /api/#updateContent - person matthewpavkov   schedule 22.01.2013