В настоящее время возникла проблема при попытке отобразить всплывающие подсказки YUI в верхней части панели YUI после того, как показано, что они были созданы ранее.Проблема в том, что Panel не может быть зарегистрирована в оверлейном менеджере, потому что для этого потребуется изменить TON кода и протестировать его, что продлит жесткий срок.Единственный способ заставить до заставить это работать - это настроить всплывающие подсказки после , когда отображается панель.Проблема заключается в количестве изменений кода, которые необходимо выполнить, чтобы присоединить другой вызов функции.Моя проблема в том, что я надеялся, что смогу использовать обработку событий для использования "showEvent"
, но я не могу заставить его работать (извиняюсь за количество слов):
var panel_obj = new YAHOO.widget.Panel('someID', {
width: "700px",
height: "500px",
close: true,
draggable: false,
modal: true,
constraintoviewport: true,
visible: false,
fixedcenter: true
});
panel_obj.render();
var tooltip_name = 'newTooltip1';
var element_id = 'htmlElementIDToBecomeTooltip';
function createTooltip() {
window[tooltip_name] = new YAHOO.widget.Tooltip(tooltip_name, {
context: element_id,
xyoffset: [15, -15],
zIndex: 999
});
}
function successfulScenario() {
panel_obj.show();
createTooltip();
}
function failedScenario1() {
YAHOO.util.Event.addListener(
'someID',
"showEvent",
createTooltip
);
}
function failedScenario2() {
createTooltip();
panel_obj.show();
}
Единственный способ, которым я имеюпохоже, он работает, запустив что-то вроде successfulScenario()
.Я пришел из jQuery, поэтому я все еще изучаю YUI.Я хотел бы иметь возможность просто расширять (подкласс) функцию YAHOO.widget.Panel show()
, чтобы вызывать createTooltip
, но я не такой уж гуру, или мне, возможно, потребуется изменить очень большую кодовую базу, чтобы сделать это.