Javascript 如何设置keylistener以隐藏最顶部的yui面板

Javascript 如何设置keylistener以隐藏最顶部的yui面板,javascript,yui,Javascript,Yui,我有两个或更多的YUI面板相互重叠。我想在按下退出键时关闭最上面的面板 在YUI的背景下,我如何做到这一点 我试过这个例子 但按退出键时,它会关闭所有面板 我还尝试使用OverlayManager和overlay的z-index属性,但有时最上面面板的z-index小于较低级别面板的z-index 面板在escape上隐藏,因为这是默认的小部件设置,请参阅 与文档所述不同,触发事件的节点不是小部件的边界框,而是文档节点,请参见 通过将小部件的边界框指定为节点,尝试覆盖hideOn属性 像这样的方

我有两个或更多的YUI面板相互重叠。我想在按下退出键时关闭最上面的面板

在YUI的背景下,我如何做到这一点

  • 我试过这个例子
  • 但按退出键时,它会关闭所有面板

  • 我还尝试使用OverlayManager和overlay的z-index属性,但有时最上面面板的z-index小于较低级别面板的z-index

  • 面板在escape上隐藏,因为这是默认的小部件设置,请参阅

    与文档所述不同,触发事件的节点不是小部件的边界框,而是文档节点,请参见

    通过将小部件的边界框指定为节点,尝试覆盖
    hideOn
    属性

    像这样的方法应该会奏效:

    var panel = new Y.Panel({...});
    panel.set('hideOn', [{eventName: 'key', keyCode: 'esc', node: panel.get('boundingBox')}]);
    
    我确信它可以用于禁用escape,方法是将它从
    hideOn
    列表中排除