Sự kiện

Mọi thay đổi trên không gian làm việc sẽ kích hoạt một sự kiện. Những sự kiện này mô tả đầy đủ trạng thái trước và sau của mỗi thay đổi.

Nghe sự kiện

Không gian làm việc có các phương thức addChangeListenerremoveChangeListener có thể dùng để theo dõi luồng sự kiện. Một ví dụ là quy trình tạo mã theo thời gian thực. Một ví dụ khác là bản minh hoạ giới hạn khối tối đa. Thông thường, cả hai ví dụ này đều không quan tâm đến sự kiện kích hoạt. Chúng chỉ cần xem xét trạng thái hiện tại của không gian làm việc.

Một trình nghe sự kiện tinh vi hơn sẽ xem xét sự kiện kích hoạt. Ví dụ sau đây phát hiện thời điểm người dùng tạo bình luận đầu tiên, đưa ra một cảnh báo, sau đó ngừng lắng nghe để không kích hoạt thêm cảnh báo nào nữa.

function onFirstComment(event) {
  if (event.type == Blockly.Events.BLOCK_CHANGE &&
      event.element == 'comment' &&
      !event.oldValue && event.newValue) {
    alert('Congratulations on creating your first comment!')
    workspace.removeChangeListener(onFirstComment);
  }
}
workspace.addChangeListener(onFirstComment);

Để theo dõi bất kỳ sự kiện nào xảy ra bên trong một thông báo nhanh, một trình nghe có thể được thêm vào không gian làm việc của trình nghe đó.

var flyoutWorkspace = yourWorkspace.getFlyout().getWorkspace();
flyoutWorkspace.addChangeListener(onFirstComment);

Khối có một phương thức khác để nghe luồng sự kiện. Một khối có thể xác định hàm onchange hoặc sử dụng setOnChange để đặt hàm sẽ được gọi mỗi khi có thay đổi xảy ra trên không gian làm việc của khối.

Loại sự kiện

Xem tài liệu tham khảo để biết thông tin về các sự kiện riêng lẻ.

Bản minh hoạ

Để biết ví dụ về những điều thú vị mà bạn có thể làm với sự kiện, bạn có thể xem bản minh hoạ phản chiếu. Bản minh hoạ này có hai không gian làm việc theo khối (blockly) và luôn đồng bộ hoá bằng sự kiện.