פתיחת תפריט בלחיצה על הלחצן הימני
לעיתים אנחנו רוצים למנוע ממשתמשים לראות את קוד המקור שלנו או שאנו רוצים להוסיף פונקציות קבועות בלחיצה על הלחצן הימני. הדבר פשוט להפליא בעזרת JS
בצד הלקוח. כאשר נתפוס את הלחיצה (הארוע – oncontextmenu) נחסום את התצוגה הרגילה ונפעיל במקומה פונקציה משלנו, שתראה שיכבה שאנחנו בנינו.
יצירת השיכבה
ניצור DIV כלשהוא [ או LAYER אם אנחנו רוצים שזה יתאים גם לNETSCAPE] ונרשום בתוכו מה שאנו רוצים. רצוי למקם את השכבה בסוף המסמך.
ניתן לה את הID (השם שייצג אותו בDOM) המקורי righClick.
<DIV id=righClick>
זה התפריט החדש שפתחנו
פה נכניס קישורים<br>
<a href="http://www.ennovate.ws">אתר הבית</a><br>
<a href="http://www.webmaster.co.il">WebMaster</a>
</DIV>
יצירת הסטייל
נקבע לשכבה הזו סטייל נקבע את הVISIBILITY לHIDDEN. לא לשכוח לתת לו מיקום אבסולוטי ולמקם אותו הכי גבוה בסדר השכבות. ננקה את האיזורים משנה הצדדים,
ניתן קצת רקע וצבע גבול ונישר לימין:
|
|
יצירת הפונקציות
עכשו ניצור את הפונקציות שמראות או מסתירות את השכבה. הפונקציה שמראה את השכבה צריכה לעמוד ב3 תנאים: היא צריכה להראות את השכבה, לפי המיקום של העכבר, ולעשות זאת כל פעם מחדש בדיוק כמו התפריט המקורי של העכבר.
הנה הפונקציה שמראה:
|
|
הפרמטרים event.x ו event.y מחזירים לנו את המיקומים של העכבר, בעזרתם אנו גורמים לתפריט להפתח בדיוק איפה שבוצעה הלחיצה עם העכבר. שימו לב שאנו מטפלים פה גם בdisplay וגם בvisibility: בפעם הראשונה אנו מראים את השכבה, ובפעמים הבאות אנו עובדים עם תצוגת השכבה (display) .
פונקציית ההסתרה רק הופכת את השכבה לבלתי נראית, והיא מופעלת בארוע ONCLICK של הBODY:
|
|
הקריאה לפונקציות
עכשו נוסיף את הקריאות לפונקציות לתגית הBODY :
|
|
הוספת פונקציונאליות נוספת
כמובן שאפשר להוסיף עוד פונקציות כמו הדפסה, שמירה או שליחת לחבר, ע"י הוספת הפקודה בתוך השכבה, לדוגמא, הפעלת פונקציית ההדפסה:
|
|
את הדוגמא בפעולה ניתן לראות
פה.
בהצלחה!
תגובות בפייסבוק