2010-12-16 6 views
10

Extjs 컨텍스트 메뉴 (오른쪽 클릭)를 단추에 넣는 방법을 알고 싶습니다.Extjs 컨텍스트 메뉴 (오른쪽 클릭)

나는 Google을 검색했지만, 얻는 것처럼 보이는 것은 TreePanel에 배치하는 방법입니다. TreePanel에 버튼을 사용하는 비슷한 접근 방식을 시도했지만 운이 없었습니다.

답변

24

컨텍스트 메뉴는 플로팅 메뉴에 불과하므로 컨텍스트 메뉴 이벤트를 잡고 메뉴를 표시하십시오.

contextMenu = new Ext.menu.Menu({ 
    items: [{ 
    text: 'Edit', 
    iconCls: 'edit', 
    handler: edit 
    }] 
}); 

Ext.getCmp('your-button').getEl().on('contextmenu', function(e) { 
    e.preventDefault(); 
    contextMenu.show(Ext.getCmp('your-button').getEl()); 
}); 
+0

감사 : 버튼을

예를 직접는 HTMLElement를 드실 수의 ContextMenu (또는 요소 래퍼)이 있고하려면 contextmenu 이벤트를 수신하지 않기 때문에! 나는 그것을 contextMenu에 넣으려고했다 : function() {} 나는 슬픔의 원인이 된 것 같다. – neolaser

+1

마우스 오른쪽 버튼을 클릭했을 때와 같은 위치에 메뉴를 배치 할 수 있습니까? – kiltek

+1

@kiltek 나는 이것이 오래된 것임을 알고있다.이 문제는 contextMenu.showAt (e.getXY()); – weeksdev

관련 문제