2008-09-16 120 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