4

我有一个modal dialog表单,其中包含一些“帮助链接”,它应该在其顶部打开其他非模态面板或对话框(同时保持主对话框处于模态)。

然而,这些总是隐藏在面具后面。 YUI似乎正在识别z-index那里的最高值并将掩码和模态对话框设置为高于此值。

如果我等待面板化帮助内容,那么我可以将它们设置为具有更高的 z-index。到现在为止还挺好。那么问题是次要的非模态对话框中的字段是不可聚焦的。它们下方的模态对话框似乎以某种方式阻止焦点转到不在初始模态对话框中的任何内容。

如果 YUI 根本不允许这样做,如果我可以使用 jQuery 执行此“对话框组模式”也是可以接受的。

帮助!

4

2 回答 2

4

默认情况下,YUI 管理扩展 YAHOO.widget.Overlay 并使用覆盖面板的任何内容的 z-index。它通过 YAHOO.widget.Overlay 的“bringToTop”方法来做到这一点。您可以通过简单地将“bringToTop”方法更改为空函数来关闭它:

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

该代码将永久关闭它,您可以将其放在 container.js 文件的底部。我发现这种方法有点像大锤方法,所以我们扩展了 YUI 类,并在调用“super.constructor”之后写入:

this.bringToTop = function() { };

如果你这样做,你实际上是在告诉 YUI 你将自己管理元素的 z 索引。这可能很好,但在做之前需要考虑一些事情。

于 2008-10-02T13:39:07.653 回答
0

如果用户应该与其他元素交互,则原始对话框不能是模态的——这就是模态的定义。原始对话框真的需要模态吗?如果是这样,您是否尝试在打开其他元素之前切换原始对话框的模式属性?

于 2008-09-17T10:10:51.137 回答