Programming/JavaScript, Sencha
Sencha1 이벤트 추가
파란크리스마스
2012. 6. 16. 17:04
728x90
Sencha에서 사용자 정의 이벤트를 만드는 방법을 정리해보았습니다.
객체 선언시 addEvents 메소드로 이벤트를 등록하고,
fireEvent 메소드로 이벤트 호출하고,
리스너에서 이벤트를 받아서 처리하면 됩니다.
이벤트 등록
this.addEvents('OnLoadImage');이벤트를 리스너 등록
listeners: {
OnLoadImage: function(panel, index, imgUrl) {
//alert('ImageUrl' + src);
}
}
이미지 번호로 이미지 URL 정보를 얻었을 경우 이벤트 호출
this.fireEvent('OnLoadImage', this, this.getActiveIndex(), imgUrl);
소스
Jarvus.mobile.PinchCarousel = Ext.extend(Ext.Carousel, { initComponent : function() { // shryu this.addEvents('OnLoadImage'); }, doLoadImage(imageNo) { Ext.Ajax.request({ url : json_url, params : { cmd : 'getImageUrl', imgno : imageNo }, success : function(response, opts) { var JsonData = JSON.parse(response.responseText); if (JsonData.data.err == "") { OnLoadImage(JsonData.data.imgUrl); } else { return false; } } }); }, // shryu OnLoadImage : function(imgUrl) { //alert('OnLoadImage = ' + this.getActiveIndex() + '/' + imgUrl); this.fireEvent('OnLoadImage', this, this.getActiveIndex(), imgUrl); } } var pinchCarousel = new Jarvus.mobile.PinchCarousel({ listeners: { OnLoadImage: function(panel, index, imgUrl) { //alert('ImageUrl' + src); } } });