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

המאמר הקודם ללימו jQuery
המאמר הבא ללימוד 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. כשעכשיו אנו יכולים להפעיל אותן על כל אלמנט ובעקבות איזה אירוע. במאמר הבא אני מראה חלק מהפונקציות האלו.

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

אהבתם? לא אהבתם? דרגו!

לא אהבתי בכלללא אהבתיבסדראהבתיאהבתי מאוד (2 הצבעות, ממוצע: 5.00 מתוך 5)

תגיות: , פורסם בקטגוריה: jQuery

אל תשארו מאחור! יש עוד מה ללמוד!