티스토리 뷰

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);
    }
  }
});
댓글
300x250
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함