2012-04-05 2 views
0

안녕하세요!YUI3 widget-parent/child에서만 하위 이벤트를 구독하는 방법?

저는 YUI3 Widget-parent 및 widget-child를 사용하여 계층 적 위젯을 만들고 현재 계층 적 ListBox Widget을 연구하고 있습니다.

클릭 한 특정 아동의 클릭 이벤트 만 구독하고 싶습니다. 위의 페이지에서 계속되는 사용 예제는 다음과 같습니다.

listbox.on("listbox:click", function(e) {...}); 

목록에서 "Item Three - Two"항목을 클릭하면이 항목은 "Item Three - Two", "Item 세 "및 루트 위젯. 해당 이벤트 핸들러에서 e.target이 클릭 한 원래 위젯인지, 아니면 부모 인 경우 위젯인지 여부를 확인할 방법이 없습니다.

그래서 제 질문은 다음과 같습니다

  1. 어떻게 클릭 한 widgetthat 내가 원래 의 이벤트 핸들러에있어 발견합니까?
  2. 클릭 위젯을 이벤트 만 실행하는 것이 가능합니까?

감사합니다.

답변

1

Here's an example fiddle.

그냥 e.target 사용으로 잎 노드를 취득하고자하는 경우 :

listbox.on('option:click', function (e) {... 

실제로 listbox:click 구독 내 예에서 리프 노드를 선택하지 않지만, 두 상위 상위 listbox 조상 위젯에 대한 클릭을 가져옵니다.

+0

문제는 실제로 더 깊습니다. 나는 그것에 관하여 더 깊이 여기에서 썼다 : [link] (http://yuilibrary.com/forum/viewtopic.php?f=92&t=9781) 그리고 여기 : [link] (http://yuilibrary.com/ forum/viewtopic.php? f = 92 & t = 9775) –

관련 문제