Hãy bắt đầu bằng cách mô tả xử lý sự kiện của các phần tử DOM.
Xử lý sự kiện nút DOM
Trước hết bạn sẽ không muốn làm việc trực tiếp với nút DOM. Thay vào đó bạn có thể muốn sử dụng Ext.Elementgiao diện. Với mục đích gán các trình xử lý sự kiện Element.addListenervà Element.on(chúng tương đương) đã được tạo. Vì vậy, ví dụ, nếu chúng ta có html:
<div id="test_node"></div>
và chúng tôi muốn thêm clickxử lý sự kiện. 
Hãy lấy lại Element:
var el = Ext.get('test_node');
Bây giờ hãy kiểm tra tài liệu cho clicksự kiện. Trình xử lý của nó có thể có ba tham số:
  nhấp (Ext.EventObject e, HTMLEuity t, Object eOpts)
Biết tất cả những thứ này, chúng ta có thể gán xử lý:
//       event name      event handler
el.on(    'click'        , function(e, t, eOpts){
  // handling event here
});
Xử lý sự kiện Widgets
Xử lý sự kiện Widgets khá giống với xử lý sự kiện các nút DOM.  
Trước hết, xử lý sự kiện widget được thực hiện bằng cách sử dụng Ext.util.Observablemixin. Để xử lý các sự kiện đúng cách, tiện ích của bạn phải chống lại Ext.util.Observablenhư một mixin. Tất cả các tiện ích tích hợp (như Bảng điều khiển, Biểu mẫu, Cây, Lưới, ...) Ext.util.Observabletheo mặc định là một hỗn hợp.
Đối với các widget có hai cách gán trình xử lý. Cách thứ nhất - là sử dụng trên phương thức (hoặc addListener). Ví dụ, hãy tạo Buttonwidget và gán clicksự kiện cho nó. Trước hết, bạn nên kiểm tra tài liệu của sự kiện để biết các đối số của trình xử lý:
  nhấp (Ext.button.Button this, Event e, Object eOpts)
Bây giờ hãy sử dụng on:
var myButton = Ext.create('Ext.button.Button', {
  text: 'Test button'
});
myButton.on('click', function(btn, e, eOpts) {
  // event handling here
  console.log(btn, e, eOpts);
});
Cách thứ hai là sử dụng cấu hình trình nghe của widget :
var myButton = Ext.create('Ext.button.Button', {
  text: 'Test button',
  listeners : {
    click: function(btn, e, eOpts) {
      // event handling here
      console.log(btn, e, eOpts);
    }
  }
});
Lưu ý rằng Buttonwidget là một loại vật dụng đặc biệt. Nhấp vào sự kiện có thể được chỉ định cho tiện ích này bằng cách sử dụng handlercấu hình:
var myButton = Ext.create('Ext.button.Button', {
  text: 'Test button',
  handler : function(btn, e, eOpts) {
    // event handling here
    console.log(btn, e, eOpts);
  }
});
Sự kiện tùy chỉnh bắn
Trước hết bạn cần đăng ký một sự kiện bằng phương thức addEvents :
myButton.addEvents('myspecialevent1', 'myspecialevent2', 'myspecialevent3', /* ... */);
Sử dụng addEventsphương pháp là tùy chọn. Như các bình luận cho phương pháp này nói rằng không cần sử dụng phương pháp này nhưng nó cung cấp chỗ cho tài liệu sự kiện.
Để khởi động sự kiện của bạn, hãy sử dụng phương thức fireEvent :
myButton.fireEvent('myspecialevent1', arg1, arg2, arg3, /* ... */);
arg1, arg2, arg3, /* ... */sẽ được chuyển vào xử lý. Bây giờ chúng tôi có thể xử lý sự kiện của bạn:
myButton.on('myspecialevent1', function(arg1, arg2, arg3, /* ... */) {
  // event handling here
  console.log(arg1, arg2, arg3, /* ... */);
});
Điều đáng nói là vị trí tốt nhất để chèn lệnh gọi phương thức addEvents là initComponentphương thức của widget khi bạn đang xác định widget mới:
Ext.define('MyCustomButton', {
  extend: 'Ext.button.Button',
  // ... other configs,
  initComponent: function(){
    this.addEvents('myspecialevent1', 'myspecialevent2', 'myspecialevent3', /* ... */);
    // ...
    this.callParent(arguments);
  }
});
var myButton = Ext.create('MyCustomButton', { /* configs */ });
Ngăn chặn sự kiện sủi bọt
Để ngăn chặn bong bóng, bạn có thể return falsehoặc sử dụng Ext.EventObject.preventDefault(). Để ngăn chặn hành động sử dụng mặc định của trình duyệt Ext.EventObject.stopPropagation().
Ví dụ: hãy gán trình xử lý sự kiện nhấp vào nút của chúng tôi. Và nếu không nhấp vào nút bên trái, ngăn hành động mặc định của trình duyệt:
myButton.on('click', function(btn, e){
  if (e.button !== 0)
    e.preventDefault();
});