0

複数の YUI パネルが重なり合っています。エスケープキーを押すと一番上のパネルを閉じたい。

YUI のコンテキストでそれを行うにはどうすればよいですか?

  1. この YUI の例を試してみましたhttp://developer.yahoo.com/yui/examples/container/keylistener.html

しかし、エスケープキーを押すと、すべてのパネルが閉じます。

  1. OverlayManager とオーバーレイの z-index プロパティも使用してみましたが、最上位パネルの z-index が下位パネルの z-index よりも小さい場合があります。
4

1 に答える 1

0

デフォルトのウィジェット設定であるため、パネルはエスケープ時に非表示になります。

ドキュメントの内容とは異なり、イベントを発生させるノードはウィジェットのバウンディング ボックスではなく、ドキュメント ノードです。 html#l57

hideOnウィジェットの境界ボックスをノードとして実際に指定して、属性をオーバーライドしてみてください。

このようなものが動作するはずです:

var panel = new Y.Panel({...});
panel.set('hideOn', [{eventName: 'key', keyCode: 'esc', node: panel.get('boundingBox')}]);

リストから除外することで、エスケープを無効にするために使用できると確信していhideOnます。

于 2012-10-08T15:46:32.487 に答える