מדריך ארועים – מה הם ארועים?
צורת החשיבה של תוכניות מבוססות-אירועים עלולה להיות חדשה לך, אולם הרעיון של תגובה לפי אירוע מסוים אמור להיות מוכר לך מחיי היום יום. ניקח את הטלוויזיה כדוגמה. אתה יכול לשנות את הערוץ מתי שתרצה, ובשימוש בשלטים הקיימים כיום ניתן גם לעבור לערוץ מסוים במקום לעבור דרך סידרה של ערוצים כדי להגיע לערוץ המבוקש. בנוסף, ניתן לשנות את עוצמת השמע של הטלוויזיה מתי שתרצה לעוצמה הרצויה לך. תוכל גם להשתיק את השמע לגמרי על ידי לחיצה על לחצן ההשתקה. צורה זו של שליטה על איך ומתי דברים יתרחשו מהווה דוגמה טובה לצורת תכנות מונחה-אירועים. אתה (משתמש טלוויזיה) יוצר אירוע (על ידי לחיצה על לחצן) אשר גורם לטלוויזיה לבצע פעולה המתאימה לאירוע שהתרחש. אתה שולט גם בתזמון האירועים.
תוכניות המבוססות על Windows עובדות בצורה דומה. ב-Word, למשל, ניתן לשנות את הגופן או הסגנון של פיסקה מסוימת. ניתן גם לסמן מקטע מסוים ולגרור אותו למקום אחר. כל אחת מפעולות אלו אפשרית תודות ליכולת התוכנה (Word) להגיב לאירועים המתרחשים כתוצאה מפעולות המשתמש.
בזמן כתיבת תסריט בשפת JavaScript, תרצה לבנות אותו בהתאם למשימות אותן הוא אמור לבצע. לכן, אתה צריך לספק למשתמש לחצנים, תפריטים או תיבות בחירה אשר יאפשרו לו לבצע את המשימות הדרושות. תרשים 1 מציג דוגמה לממשק (טופס) המיועד לתוכנית המבוססת על אירועים. זהו טופס HTML רגיל לכל דבר וענין. בספר הקודם שעסק ב-HTML הופנה תוכן הטופס אל תיבת דואר אלקטרוני. עכשיו אתה יודע שלחיצה על לחצן שלח טופס יצרה אירוע (האירוע: "לחיצה על" עליו תלמד בהמשך) שגרם ליישום (הדפדפן) לבצע סדרת פעולות מובנות (במקרה של לחצן Submit הפעולות כבר הוגדרו על ידי מפתחי הדפדפן. בהמשך אתה תלמד כיצד לכתוב תסריט משלך שיבוצע בעקבות התרחשות אירועים) שבסופו של דבר גרמו למשלוח תוכן הטופס בדואר אלקטרוני.
תרשים 1
: ממשק משתמש גרפי עובד יפה עם תכנות מונחה-אירועים (לקוח מתוך פרויקט סיינפלד)
הבעיה במנגנון המובנה של משלוח טופס הוא שלא ניתן לבדוק את תוכן השדות בטופס אלא רק לשלוח אותו. היתרון של תוכניות המבוססות על אירועים הוא שניתן להשתמש באירועים כדי לספק תגובה מיידית למשתמש. לדוגמה, ניתן לקשר אירוע לקוד אשר יבדוק מידע אשר הוזן על ידי המשתמש ברגע שבו המשתמש סיים להזין ערך בשדה ועבר לשדה הבא או בעת לחיצה על לחצן שלח טופס. זכור כי בסביבה המופעלת על ידי אירועים אתה קובע היכן יופעל האירוע (אובייקט), מתי (אירוע) ומה יבוצע (קוד). בדוגמה של הטופס תוכל לקבוע שכאשר המשתמש יעזוב (אירוע) את שדה שם (אובייקט) יבדק ערך השדה (קוד). במידה ויש בעיה עם המידע אשר הוזן על ידי המשתמש, תוכל להתריע על כך מיידית ולתת לו אפשרות לתקן.
תגובות בפייסבוק