כל שינוי בסביבת העבודה מפעיל אירוע. האירועים האלה מתארים באופן מלא את המצב לפני ואחרי כל שינוי.
האזנה לאירועים
למרחבי עבודה יש שיטות addChangeListener
ו-removeChangeListener
שאפשר להשתמש בהן כדי להאזין למקור האירועים. אחת הדוגמאות היא יצירת קוד בזמן אמת.
דוגמה נוספת היא הדגמה של מגבלת החסימה המקסימלית.
כפי שקורה לעיתים קרובות, בשתי הדוגמאות האלה לא משנה מה היה האירוע שהפעיל את הפעולה. הם פשוט בודקים את המצב הנוכחי של סביבת העבודה.
פונקציית event listener מתוחכמת יותר תבדוק את האירוע שהפעיל אותה. הדוגמה הבאה מזהה מתי המשתמש יוצר את התגובה הראשונה שלו, יוצר התראה ואז מפסיק להאזין, כך שלא מופעלות התראות נוספות.
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);
לבלוקים יש שיטה נוספת להאזנה לשידור האירוע. אפשר להגדיר פונקציית onchange
בבלוק או להשתמש ב-setOnChange כדי להגדיר פונקציה שתופעל בכל פעם שתתבצע שינוי בסביבת העבודה של הבלוק.
סוגי אירועים
מידע על אירועים ספציפיים זמין במאמרי העזרה.
הדגמה (דמו)
לדוגמה של דברים מגניבים שאפשר לעשות עם אירועים, אפשר לעיין בהדגמה של Mirror. הדגמה הזו כוללת שתי סביבות עבודה ב-Blockly שמתואמות באמצעות אירועים.