JS: הרשמה לאירוע קליק עם שליחת ערכים לפונקציה
-
אני רוצה לרשום פונקציה מסוימת שתתרחש בעת אירוע לחיצה (קליק..)
הפונקציה הזאת צריכה לקבל פרמטר מסוים (תוית היעד שלתוכה היא מזינה את הנתונים), לשם כך אני צריך להוסיף סוגרים לשם הפונקציה ובהם להזין את הערך.
הבעיה שלי היא שבמצב כזה בעת טעינת הדף הוא כבר קורה לפונקציה הנ"ל, דבר שאינני רוצה שיקרה.
אם אני לא מוסיף את הסוגריים בסוף הפונקציה - זה אכן לא קורה, אלא שהיא לא יכולה לתפקד כך..
השאלה היא מהו הפתרון לדבר כזה?
הנה קישור לדוגמא:
בדוגמא אני רוצה שהכפתור יוצג רק עם שינוי בבחירה בסלקט בוקס..
תודה רבה מראש!!פורסם במקור בפורום CODE613 ב20/11/2015 00:28 (+02:00)
-
זה סתם דוגמ'. מדובר בפונקציה יותר מורכבת ששולחת שאילתא לשרת ומקבלת נתונים, ואותם מחזירה לקומבוקס אחר.
לכן, חשוב לי שזו תהיה פונקציה שמקבלת פרמטרים (כגון, איזה ערך נבחר בקומבו השולח, וכן באיזה קומבו אחר להציג את התשובה..
לכן, גם זה לא רלוונטי שהיא תיקרא לפני שמישהו בוחר בערך מהקומבו הראשון, אך אני כן צריך לרשום את האירוע הזה כבר ביצירת הקומבו הראשון.
מקווה שהובנתי..פורסם במקור בפורום CODE613 ב20/11/2015 00:37 (+02:00)
-
אחר ההסתייגות על ידיעותי..
קודם כל ברור ששם פונקציה עם סוגריים לעולם נקרא מיד
ופרטים על הארוע מועבר כארגומנט לתוך הפונקציה. תמיד.
את ההתניה אתה כמובן יכול לכתוב ישר בפונקציה במקום להעביר אליו
אז איפה הבעיה?פורסם במקור בפורום CODE613 ב20/11/2015 00:41 (+02:00)
-
ופרטים על הארוע מועבר כארגומנט לתוך הפונקציה. תמיד.
מה פירוש, שתמיד נשלח גם הפרטים על הגורם שקרא לפונקציה?
ניסיתי לכתוב פונקציה שתהיה גנרית.. שאוכל לקרוא לה מכמה מקומות.. אבל אולי זה לא מתאים..
אחשוב על זה שוב..פורסם במקור בפורום CODE613 ב20/11/2015 00:50 (+02:00)
-
ברור
יש לך ים מידע
תבדוק את הקונסול כאן
http://codepen.io/anon/pen/yYwdmWפורסם במקור בפורום CODE613 ב20/11/2015 00:53 (+02:00)
-
הנה מאמר על זה
לזה התכוונת?פורסם במקור בפורום CODE613 ב20/11/2015 01:06 (+02:00)
-
הנה מאמר על זה
לזה התכוונת?כן
קרא גם כאן
http://www.prog.co.il/showthread.php?p=1157519&highlight=הקונסול+כשנפתח#post1157519פורסם במקור בפורום CODE613 ב20/11/2015 01:10 (+02:00)
-
ואם אתה רוצה את זה ממש גנרי ולהכניס את המידע לתוך האוביקט
תכניס כך:
https://www.google.co.il/search?q=data+attributes&source=lnt&tbs=lr:lang_1iw&lr=lang_iw&sa=X&ved=0CBQQpwVqFQoTCISz5bTOnckCFUNMFAodlykGmg&biw=1030&bih=897&bav=on.2,or.&bvm=bv.107763241,d.d24&ech=1&psi=f1dOVsT3DsOYUZfTmNAJ.1447974784586.3&ei=f1dOVsT3DsOYUZfTmNAJ&emsg=NCSR&noj=1פורסם במקור בפורום CODE613 ב20/11/2015 01:14 (+02:00)
-
אני רוצה לרשום פונקציה מסוימת שתתרחש בעת אירוע לחיצה (קליק..)
הפונקציה הזאת צריכה לקבל פרמטר מסוים (תוית היעד שלתוכה היא מזינה את הנתונים), לשם כך אני צריך להוסיף סוגרים לשם הפונקציה ובהם להזין את הערך.
הבעיה שלי היא שבמצב כזה בעת טעינת הדף הוא כבר קורה לפונקציה הנ"ל, דבר שאינני רוצה שיקרה.
אם אני לא מוסיף את הסוגריים בסוף הפונקציה - זה אכן לא קורה, אלא שהיא לא יכולה לתפקד כך..
השאלה היא מהו הפתרון לדבר כזה?
הנה קישור לדוגמא:
בדוגמא אני רוצה שהכפתור יוצג רק עם שינוי בבחירה בסלקט בוקס..
תודה רבה מראש!!אתה יכול לסגור את הפונקציה עם הפרמטר בתוך אובייקט כך:
function displayTo(param) { this.param = param; this.func = function () { $("#result").html("<button class=\"btn btn-danger\" >" + param + "</button>"); }; } $(document).ready(function () { var o = new displayTo("Hello!"); $("select").change(o.func); });
ראה כאן http://codepen.io/anon/pen/XmQWwW
פורסם במקור בפורום CODE613 ב20/11/2015 07:35 (+02:00)
-
כמו כן, אפשר לעטוף את הפונקציה בפונקציה אנונימית, וכך זה קורא לפונקציה הרצויה רק בזמן אמת.
$("select").on("change",function(){ displayTo("Hello"); }); function displayTo(param){ $("#result").html("<button class=\"btn btn-danger\" >"+param+"</button>"); };
פורסם במקור בפורום CODE613 ב21/11/2015 21:07 (+02:00)