2011-06-13 8 views
0

나는클릭 이벤트는

은 내가 넣을 경우 페이지 번호보다 요소

에 클릭 이벤트를 추가 할 템플릿에 의해 Ext.Panel 내부에 새로운 요소를 만듭니다

작동하지만 난 패널과 이벤트가 더 이상 작동하지 않는 내부의 HTML을 업데이트 Ext.Panelhandler: function() 내부

Ext.select('#more').on('click', function() { 
// my code 
}); 

!

거기에 내 클릭 이벤트를 넣을 수있는 새로 만든 DOM 요소에 대한 수신기가 있습니까?

답변

0

HTML을 바꿀 때 자식 노드에 연결된 모든 이벤트는 해당 노드에 계속 연결되어 있지만 DOM은 더 이상 존재하지 않습니다.

그리고 이벤트는 마술처럼 새로운 노드로 변환되지 않습니다.

HTML을 바꾸려면 유지할 상위 노드에 이벤트를 첨부해야합니다. 이것을 이벤트 위임이라고합니다.

Ext.select('#parent-of-more').on('click', function(ev) { 
    var elm = ev.target || ev.srcElement; 
    //elm is the element that was clicked 
}); 
:

당신은 이벤트를 트리거 요소, 예를 얻을 수 target 또는 srcElement (IE)를 사용합니다

관련 문제