2010-01-26 3 views
1

Ext.Container가 클릭 이벤트를 제공하지 않는 이유는 무엇입니까? 나는 단순히 생성자에 전달 된 구성에 청취자를 추가 할 수 있다고 생각했지만 클릭은 Ext.Container에 대한 공개 이벤트가 아닙니다. 컨테이너에서 생성 한 DIV에 클릭 수신기를 추가 할 수 있다는 것을 알고 있지만 컨테이너가 이것을 지원하지 않는 이유는 무엇입니까? 모든 구성 요소에 가능한 모든 DOM 이벤트를 제공하지 않는 Ext.get(containerVar).addListener('click', function(evtObj, element) { /* do something */});Ext.Container에 공개 클릭 이벤트가 포함되어 있지 않음

답변

3

내선을 할 수

+0

그건 의미가 있습니다. 감사. – Upperstage

2

컨테이너 요소입니다, 그래서 당신은 (테스트하지)한다. 때때로 DOM 이벤트는 구성 요소를 통해 전달됩니다 (예 : 그리드에 대해 처리 할 수있는 다양한 클릭 이벤트와 같은). 일반적으로 구성 요소 이벤트는 구성 요소의 기능과 관련된 사용자 지정 이벤트입니다. 클릭 이벤트가 Ext를 통해 발생하는 경우는 일반적으로 구성 요소의 기능에 필수 요소입니다. 비 시각적 기본 클래스 인 Container은 일반적으로 클릭을 처리 할 것으로 예상되는 추상 수준이 아닙니다. 하지만 그렇게해야한다면 기본 DOM 노드를 통과해야합니다.

+1

예, 할 수 있지만 그 이유는 무엇입니까? 왜 컨테이너에 대한 클릭 이벤트가 없습니까? 왜 컨테이너를 렌더링 한 후에 리스너를 추가해야합니까? – Upperstage

+0

@UpperStage - Ext가 click 이벤트를 노출하지 않기 때문입니다. 그래서 컨테이너가 렌더링 된 후에 청취자를 직접 추가해야합니다. – globetrotter

관련 문제