이벤트
- 워크스페이스의 모든 변경사항은 이벤트를 트리거합니다.
- 이러한 이벤트는 각 변경사항의 전후 상태를 완전히 설명합니다.
이벤트 리슨
워크스페이스에는 이벤트 스트림을 수신 대기하는 데 사용할 수 있는 addChangeListener 및 removeChangeListener 메서드가 있습니다.
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);
플라이아웃 내에서 발생하는 이벤트를 수신 대기하려면 플라이아웃의 워크스페이스에 리스너를 추가하면 됩니다.
var flyoutWorkspace = yourWorkspace.getFlyout().getWorkspace(); flyoutWorkspace.addChangeListener(onFirstComment);
블록에는 이벤트 스트림을 리슨하는 다른 메서드가 있습니다. 블록은 xxxxonchange 함수를 정의하거나 setxxxxOnChange를 사용하여 블록의 워크스페이스에 변경사항이 발생할 때마다 호출되는 함수를 설정할 수 있습니다.