2008-09-16 153 views
4

我有一個modal dialog表格,裏面有一些「幫助鏈接」,它應該打開其他非模態面板或對話框(在保持主對話框不變的情況下) 。有模式對話框打開輔助對話框的問題

但是,這些總是在面具後面結束。 YUI似乎認識到最高的z-index那裏,並設置掩碼和模態對話框比這更高。

如果我等面板化幫助內容,那麼我可以設置那些具有更高的z-index。到現在爲止還挺好。問題在於次要的非模態對話框中的字段是不可重點的。在它們下面的模式對話似乎在阻止焦點轉移到任何不在最初的模態對話框中。

如果我可以用jQuery做這個「對話組模式」,如果YUI根本不允許的話,這也是可以接受的。

幫助!

回答

4

默認情況下,YUI管理任何擴展YAHOO.widget.Overlay並使用覆蓋面板的z-index。它通過YAHOO.widget.Overlay的「bringToTop」方法執行此操作。您可以通過簡單地改變「bringToTop」的方法是一個空函數關閉這個功能:

YAHOO.widget.Overlay.prototype.bringToTop = function() { }; 

該代碼就會把它關掉爲好,你可以只是把這個在container.js文件的底部。我覺得這種做法是有點過分大錘的辦法,所以我們的YUI類,以及擴展呼叫「super.constuctor」寫後:

this.bringToTop = function() { }; 

如果你這樣做,你基本上是告訴YUI你會自己管理你的元素的z-索引。這可能很好,但在做之前需要考慮一些事情。

0

如果用戶應該與其他元素進行交互,則原始對話框不能爲模態 - 這就是模態的定義。原始對話框真的需要完全模態化嗎?如果是這樣,在打開其他元素之前是否嘗試過切換原始對話框的模態屬性?

+0

這將使所有其他背景元素都可以訪問。我需要阻止訪問所有內容,但是這組三個對話框(1個主要,2個次要)。我不能讓他們做任何事情,直到主對話框成功完成。 – 2008-09-17 16:19:49