我有一个模态对话框表单,其中有一些“帮助链接”,它应该打开其上的其他非模态面板或对话框(同时保持主对话框,否则模态).
然而,这些总是落在面具后面. YUI似乎正在识别最高的z-index,并将掩码和模态对话框设置为高于此值.
如果我等待帮助内容进行面板化,那么我可以将它们设置为具有更高的z-index.到现在为止还挺好.那么问题是辅助非模态对话框中的字段是不可聚焦的.它们下面的模态对话框似乎在某种程度上阻止了焦点转到最初的模态对话框中的任何内容.
如果我能用jQuery做这个“对话组模态”,如果YUI根本不允许这样做也是可以接受的.
救命!
解决方法:
默认情况下,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-indices.这可能很好,但在做之前需要考虑一些事情.