jQuery – Events – אירועים חלק ב'

חלקו השני של המאמר על אירועים ב-Jquery. במאמר מפורטים אירועים שונים נוספים ושימושיים להפליא.

מאמר זה מהווה המשך למאמר על האירועים שיש ב-jQuery. סקרנו את אירוע ה-on שקושר בין אלמנט, לאירוע ולפונקציה שתופעל בעקבות האירוע הזה. גם במאמר הזה אני אשתמש בפונקצית alert פשוטה ובאלמנט של פסקה עם id מסוים.

trigger

trigger משמש אותנו לקשירה בין אירועים שונים. נניח שיש לי שתי פסקאות: פסקה א' ופסקה ב'. אני מעוניין שלחיצה על פסקה א' תפעיל הודעה מעצבנת א' ולחיצה על פסקה ב' תפעיל גם הודעה מעצבנת ב' וגם את מה שלחיצה על פסקה א' מפעילה.

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

איך עושים את זה? בקלות.

פסקה ראשונה

פסקה שניה


<script type="text/javascript"> 
$(document).ready(function() {
$("#example1").on("click" , function () {
alert("הודעה מעצבנת ראשונה");
});
$("#example2").on("click" , function () {
alert("הודעה מעצבנת שניה");
$("#example1").trigger("click");
});
 });
</script>

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

hover

hover הוא כמו toggle רק שבמקום קליקים מדובר על hover. יש פונקציה אחת כאשר העכבר מרחף מעל האלמנט ופונקציה שניה כאשר העכבר לא מרחף מעל האלמנט. הייתי מדגים עם alert אך כיוון שרוב הזמן העכבר יהיה מחוץ לאלמנט זה יגרום לעוד ועוד alertים מעצבנים. לפיכך משתמש באפקט של CSS.

העבירו מעלי את העכבר


$(document).ready(function() {
$("#example4").hover(function () {
$(this).css("color","red");
} , function () {
$(this).css("color","black");
});
 });

Multiple bind

אני יכול לבצע bind לכמה פונקציות באותה פקודה. נניח שיש לי פסקה שאני רוצה לקשור אליה גם אירוע של לחיצה וגם אירוע של mouse in ן-mouse out. כל מה שאני צריך לעשות זה להעביר ל-on אובייקט שמכיל את כל האירועים שאני רוצה לקשור אליהם.

הקליקו על הפסקה הזו על מנת לראות הודעה. העבירו את העכבר מעל הפסקה כדי לראות את הצבע משתנה

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


$(document).ready(function() {
$("#example16").on({
	click: function () {
		alert("הודעה");
	},
   	mouseover: function() {  
	        $(this).css("color","red");
    	},  
    	mouseout: function() {  
	        $(this).css("color","black");
   	},
});
});

עד כאן בנוגע לאירועים. עכשיו אחרי שלמדנו על ה-selectors ועל ה-events אנו יכולים לגשת לשלב השלישי והיותר מהנה – הפונקציות המגניבות שאפשר להפעיל באמצעות jQuery. כשעכשיו אנו יכולים להפעיל אותן על כל אלמנט ובעקבות איזה אירוע. במאמר הבא אני מראה חלק מהפונקציות האלו.

פוסטים נוספים שכדאי לקרוא

פתרונות ומאמרים על פיתוח אינטרנט

המנעו מהעלאת source control לשרת פומבי

לא תאמינו כמה אתרים מעלים את ה-source control שלהם לשרת. ככה תמצאו אותם וגם הסבר למה זה רעיון רע.

ספריות ומודולים

מציאת PII באמצעות למידת מכונה

כך תגנו על משתמשים שלכם שמעלים מידע אישי רגיש כמו תעודות זהות באמצעות שירות אמאזוני.

גלילה לראש העמוד