2012-05-26 1 views
0

서로 겹치는 YUI 패널이 두 개 이상 있습니다. Esc 키를 누르면 최상위 패널을 닫고 싶습니다.가장 위의 yui 패널을 숨기도록 키리스터를 설정하는 방법

YUI와 관련하여 어떻게 할 수 있습니까?

  1. 나는이 YUI 예 http://developer.yahoo.com/yui/examples/container/keylistener.html

을 시도했지만 Esc 키를 눌러에, 그것은 모든 패널을 닫습니다.

  1. 오버레이 관리자와 오버레이의 z- 인덱스 속성을 사용해 보았지만 최상위 패널의 z- 인덱스가 하위 패널의 z- 인덱스보다 작은 경우가 있습니다.

답변

0

패널이 기본 위젯 설정이기 때문에, 이벤트를 발사 노드가 위젯의 경계 상자,하지만 문서 노드가 아닌 문서의 말씀과는 달리 http://yuilibrary.com/yui/docs/api/classes/Panel.html#attr_hideOn

를 참조 탈출에 숨겨진 http://yuilibrary.com/yui/docs/api/files/widget-autohide_js_Widget-Autohide.js.html#l57

실제로 위젯의 경계 상자를 노드로 지정하여 hideOn 속성을 재정의하십시오. 이 같은

뭔가 작업을해야합니다 :

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

나는 hideOn 목록에서 제외하여, 탈출을 해제 할 수 있습니다 확신합니다.

관련 문제