מדריך ארועים – טיפול באירועים בתוכניות

בדף HTML טיפוסי יכולים לקרות הרבה אירועים המתרחשים כתוצאה מפעולות המשתמש. אירועים הקשורים לתוכנית יכולים להתרחש כתוצאה מפעולות כגון לחיצת המשתמש על לחצן העכבר, הקשה על מקש במקלדת, הזזת העכבר, שינוי ערך בשדה טופס, או מעבר לחלון אחר בתוכנית. התוכנית עצמה יכולה לגרום לאירועים להתרחש. אירועים הקשורים למערכת ההפעלה יכולים גם הם להתרחש כתוצאה מפונקציות של המערכת כגון השעון, או אפילו על ידי גורמים חיצוניים כמו קבלת דואר אלקטרוני. מאות, אם לא אלפי, אירועים יכולים להתרחש בכל תוכנית נתונה. מבנה התוכנית צריך להיות כזה שיוכל לבודד את האירועים הקשורים לפעולת התוכנית: לטפל באירועים הדורשים טיפול ולהתעלם מאירועים אחרים.

קביעה מתי התרחש אירוע

כאשר Windows מזהה פעולה אשר התבצעה על ידי המשתמש (הזזת עכבר, לחיצה על מקש) והמכוונת ליישום הדפדפן, מערכת ההפעלה שולחת לדפדפן הודעה על התרחשות האירוע. היישום (Internet Explorer) מקבל את ההודעה על התרחשות האירוע. אתה זוכר בודאי שלא כתבת אף שורת קוד אחת בעת יצירת טופס HTML. למרות זאת בעת לחיצה על לחצן שלח טופס ביצע הדפדפן פעולה, זאת מכיון שהאירוע התקבל ממערכת ההפעלה והדפדפן ידע מה לעשות גם אם לא ציינת זאת במפורש. אם כתבת קוד המטפל בסוג האירוע האמור, אז הדפדפן יפעיל את הקוד האמור. אם לא כתב קוד לטיפול באירוע, הדפדפן יתעלם מקיומו.

כל אובייקט במסגרת דף HTML (window, document, form, div, p, a וכדומה) יכול להפעיל קבוצה מסוימת של אירועים לפי סוג האובייקט. למשל, באובייקט document יש אירוע onload (תרגום: בעת טעינה) שלא קיים באובייקט checkbox. אולם, המפתח לטיפול נכון באירועים הינו לדעת בצורה מדויקת איזה שילוב של אובייקטים ואירועים נחוץ לתוכנית שלך, וכן לכתוב את התוכנית לטיפול בשילובים אלה.

סוגי אירועים

ישנם שני סוגים בסיסיים של אירועים אשר יכולים להתרחש בדפדפן (וגם בכל יישום Windows הפועל בסביבה גרפית):

  1. אירועים המתרחשים כתוצאה מפעולות המשתמש,
  2. אירועים המתרחשים כתוצאה מפונקציה של המערכת.

לרוב, תרצה לכתוב קטע קוד המטפל באירועים אשר המשתמש גורם להם. בצורה זו תהיה למשתמש שליטה על מהלך העניינים. זאת אומרת שהמשתמש יכול לבצע פעולה מסוימת כאשר הוא ירצה (בהתחשב במבנה הדף ובאפשרויות שתעמיד לרשותו), דבר המקנה למשתמש שליטה רבה.

הערה

מובן שלא חייבים לכתוב קוד לטיפול בכל האירועים. לאירוע שתרצה לטפל בו יש לכתוב קוד ולאירוע שלא תרצה לטפל בו אל תכתוב קוד.



הערה

אירוע (event) הוא הפעולה המתרחשת. למשל, מעבר עכבר מעל אובייקט בדף זה האירוע mouseover. כאשר האירוע מתרחש, נטען event-handler בשם onmouseover.

לצרכי הלימוד בספר זה ההתייחסות ל- event תהיה כמו event-handler.


שאלה ותשובה!

מה ההבדל בין אירוע (event) לבין event-handler?

אירוע קודם לטעינת event-handler:

  1. אירוע (event) של לחיצה בעכבר (click) טוען event-handler בשם onclick.
  2. אירוע (event) של טעינת מסמך (load) טוען event-handler בשם onload.


תגיות: , , , , , , , , ,

זהר עמיהוד

זהר עמיהוד, מומחה שיווק וקידום אתרים באינטרנט. עוזר לבעלי עסקים להביא יותר לקוחות לאתר, ליצור יותר פניות ויותר מכירות. מרצה בנושאי שיווק באינטרנט. תואר שני במינהל עסקים מטעם אוניברסיטת תל-אביב, מוסמך מטעם חברת מיקרוסופט, מחבר ספרי מחשבים רבי-מכר.

תגובות בפייסבוק