當前顯示YUI工具提示顯示之前,YUI工具提示顯示在之前創建時出現問題。問題在於面板無法註冊到覆蓋層管理器,因爲它需要更改和測試代碼的TON,從而延長了最後期限。 到得到此工作的唯一方法是在顯示面板後設置工具提示。問題是附加其他函數調用時必須進行的代碼更改量較大。我的問題是,我希望我可以使用事件處理使用"showEvent"
,但我似乎無法得到它的工作(我的字數道歉):YUI工具提示不顯示在面板頂部
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
,但我不是一個大師,或者我可能需要改變一個非常大的代碼庫來做到這一點。
這將工作,如果我只使用一個功能的面板,但問題是,我正在嘗試createTooltip找到類名爲「tooltip」的所有元素,然後添加YAHOO.widget.Tooltip的新實例,但我喜歡你的示例和下面的那個,因爲它讓我更加了解YAHOO如何定義它的庫。 – TimD 2011-03-01 17:48:14
作爲一個側面提示,應用程序中的每個小部件都有許多面板可以工作,並且在每個需要工具提示的許多元素中工作。 – TimD 2011-03-01 17:49:09
我刪除了我以前的斷言,設置容器恰好是我的問題需要發生的工作。 – TimD 2011-03-01 18:12:00