Mọi thay đổi trên không gian làm việc đều kích hoạt một sự kiện. Các sự kiện này mô tả đầy đủ trạng thái trước và sau của mỗi thay đổi.
Theo dõi sự kiện
Không gian làm việc có các phương thức addChangeListener
và removeChangeListener
có thể được dùng để theo dõi luồng sự kiện. Ví dụ: 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.
Như thường lệ, cả hai ví dụ này đều không quan tâm đến sự kiện kích hoạt. Các hàm này chỉ 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 nhận xét đầu tiên, đưa ra cảnh báo, sau đó ngừng nghe để không kích hoạt thêm cảnh báo nào khác.
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 trình nghe bật lên, bạn có thể thêm trình nghe vào không gian làm việc của chế độ điều chỉnh theo thời gian thực.
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 một hàm sẽ được gọi bất cứ khi nào có thay đổi xảy ra trên không gian làm việc của khối.
Loại sự kiện
Hãy tham khảo tài liệu tham khảo để biết thông tin về từng sự kiện.
Bản minh hoạ
Để biết ví dụ về những điều thú vị mà bạn có thể làm với các 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 Blockly được đồng bộ hoá bằng các sự kiện.