אני יודע שעדיף כך
//$('.Answer').on('click', '.wn-active', function(){
אבל זה לא שינה בענין הזה.
פורסם במקור בפורום CODE613 ב20/08/2015 18:43 (+03:00)
אני יודע שעדיף כך
//$('.Answer').on('click', '.wn-active', function(){
אבל זה לא שינה בענין הזה.
פורסם במקור בפורום CODE613 ב20/08/2015 18:43 (+03:00)
האמת שאני בדר"כ משתדל להביא קוד
אבל פה זה לא שאלה בקוד (לכאורה) אלא במבנה.
פקודת הON עומדת בפני עצמה
$(document).ready(function() {
$('.wn-active').on('click', function(e){
someFunc(e);
});
});
והאלמנט מתווסף אח"כ
מה יש פה להראות?
אני שואל באמת, אולי זה קשור לקושי שלי להתבטא.
פורסם במקור בפורום CODE613 ב20/08/2015 18:40 (+03:00)
פונקצית on של jq מפעילה האזנה לאירוע, ואמור לעבוד גם על אלמנטים שנוצרים אחרי הפעלת האזנה.
בפועל זה לא עובד לי, לא יודע למה, לכן אני קורא ל-ON בפונקציה שיוצרת את האלמנטים החדשים.
לפי מה שכתוב שם זו הסיבה שהפונקציה שה-ON קורא לה רצה כמה פעמים בכל הפעלת הארוע.
אז לפני כל פעם שקראתי לפונקציה ON אני קורא קודם לפונקציה OFF שמבטל את האזנות הארוע.
פורסם במקור בפורום CODE613 ב20/08/2015 17:49 (+03:00)
משהו מוזר
).on('click. אמור לעבוד גם על אלמנטים שנוצרים אח"כ, בפועל זה לא, זו הסיבה ש-).on('click. מופעל הרבה פעמים.
אז הוספתי off בכל פעם לפני הכנסת ה-).on('click.
עובד ב"ה
אבל עקום.
פורסם במקור בפורום CODE613 ב20/08/2015 11:08 (+03:00)
פה התשובה?
http://stackoverflow.com/questions/5563783/jquery-class-click-multiple-elements-click-event-once
לצערי לא הבנתי אותה
תודה מראש על כל עזרה!
פורסם במקור בפורום CODE613 ב20/08/2015 08:42 (+03:00)
קורה לי משהו מאוד (או שלא) מוזר!!
אני מפעיל האזנה לקליק - ).on('click', לאינפוט
אותו אינפוט נמצא כמה פעמים עם אותו שם ואותו תוכן
אז בקליק הפונקציה מופעלת כמספר המופעמים!!
איך מונעים את זה??
פורסם במקור בפורום CODE613 ב20/08/2015 08:23 (+03:00)
אגב, מדוע צריך לכתוב e.target ולא מספיק e לבד?
פורסם במקור בפורום CODE613 ב19/08/2015 17:10 (+03:00)
גם אין טריגר בכלל
מדובר באסופת אלמנטים שמתקבל מתוסף JQ המחזיר את כל האלמנטים המוצגים במסך
התוסף מופעל בעת ארוע גלגול.
פורסם במקור בפורום CODE613 ב19/08/2015 17:08 (+03:00)
טוב, כל השולחן פה מלא שערות...
טריגר לא יעזור כי זה לא בהכרח הטריגר האחרון,
אני מקבל את האלמנט ע"י תוסף JQ קטן שבניתי
ואז מזריק אותו כארגמנט לפונקציה שמפעילה את הג'קס, שם זה כבר נגיש לתוך הפונקציות הפנימיות.
תודה לכם!
פורסם במקור בפורום CODE613 ב19/08/2015 17:05 (+03:00)
זה בהפעלה ישירה
איך אני משמר את כתובת הדיס הזה?
פורסם במקור בפורום CODE613 ב19/08/2015 13:59 (+03:00)
יש כמה DIV'ים עם אותו className
עכשיו אחד מהם נותן טריגר לשליחה וקבלת ajax
בגלל שJS ממשיך לרוץ אחרי הפקודת ajax, המשך הפעולה במקרה של הצלחה מתבצע ע"י }).done(function או uppend.
השאלה היא, איך אני מזהה את אותו אלמנט בדיוק בשביל לבצע בו שינוים, הרי לכולם יש אותו שם class??
תודה!
פורסם במקור בפורום CODE613 ב19/08/2015 08:34 (+03:00)
אתה כבר אוחז באחסון?
מה עם שרתים לסריקה עצמה?
פורסם במקור בפורום CODE613 ב10/08/2015 14:12 (+03:00)
@אהרן
ועכשיו שאלה למומחיםמתי זה עדיף על for או while רגיל?
תמיד. עדיף לולאה רגילה.
בגלל שהמחסנית מוגבלת. במקרה שלא מצאת איך לממש בצורה רגילה. אז אין ברירה משתמשים ברקורסיה.
חושב שהבנת הרקורסיה חשובה מאוד בשביל לדעת מהו הדרך לפתור בעיות.
באופן אישי קשה לי יותר עם התכנון מהכתיבה עצמה.
אגב, אפשרות הטורים של HTML לא עבד טוב עם ניקוד (טורים לא מאוזנים) אז הכנתי לולאה שעושה א"ז
מחרוזת או מערך עם רצף 1-8 לדוגמא מחולק למס' הטורם הנדרש לפי מקס' שורות.
//Columns
var menuArr = ['1','2','3','4','5','6','7','8']
var lines = 4;
var col = Math.ceil(menuArr.length/lines);
var tooltip = '';
if(menuArr.length < lines) lines = menuArr.length;
for (var n = 0; n < lines; n++) {
for (var i = 0; i < col; i++) {
if(menuArr[n+(i*4)]) tooltip += (n+(i*4)+1) + ' ' +menuArr[n+(i*4)] + ' ';
}
tooltip = tooltip.substr(0, tooltip.length-2);
tooltip += '\n';
}
/*
input:
"1 1 5 5
2 2 6 6
3 3 7 7
4 4 8 8
"
*/
זו הדרך הנכונה?
המון תודה לאנשים הנפלאים פה!
פורסם במקור בפורום CODE613 ב16/08/2015 23:00 (+03:00)
אני לא מבין js אבל אנסה להסביר את מה שהבנתי בדברי softs ואולי זה יעזור לך אהרון..
אם אני סתם מקשקש שטויות - אז תתקנו אותי :lol: :lol:
קודם כל, הוא הסביר לך ש"כל רקורסיה מתבצעת בעליה ולא בירידה":
כלומר, כיון שפעולה רקורסיבית היא פעולה שקוראת לעצמה עד תנאי העצירה שלה, אז החישוב של הפונקציה מתבצע רק לאחר שהגענו לתנאי העצירה וזה הכונה "ירידה" דהיינו שהיא יורדת ויורדת ויורדת (קוראת לעצמה שוב ושוב) עד שהיא עוצרת, ואז מבצעת את פעולת החישוב על הנתונים שיש באותו פעם (אצלך זה 1 1 ) ואז היא מחזירה את הערך 1 לפונקציה שקראה לה (וזה הנקרא "עליה"), וממילא הפונקציה שקראה לה הייתה 2 ) ולכן היא מבצעת את החישוב 2 G כשG זה הערך שהתקבל מהחישוב בפונקציה התחתונה יותר (כאן זה 1).
ממילא כשהיא עולה לפונקציה הקודמת שקראה לה היא מחזירה לG את הערך 2, ולכן מתבצע 3G והתוצאה היא 6 והיא נשמרת במשתנה G.
וממילא למעלה יותר 46 = 24
ובסוף 5 *24 והתוצאה 120.
ולכן הוא גם אמר לך שאין פה שום פעולת חיבור אלא רק כפל.
את מה שציינת N הוא הגדיר כG, וזה כנראה אותו דבר כיון שהN-1 מתבצע רק בשעת הירידה לרקורסיה לא בשעת העליה, ולכן כשהיא עולה הערך של N ושל N-1 אינו אותו דבר.צירפתי לך כאן קישור לקובץ שמרחיב על רקורסיה ובעמודים 5-7 מתייחס בדיוק להסבר של השאלה אותה העלית (זה נקרא בעיית ה'עצרת') ולהבדל בין סוגי הפעולות הרקורסיביות.
ושוב, כמו שsofts אמר זה לא קשור לJS אלא לתכנות כללי.
בהצלחה!
הבנתי :mrgreen:
ועכשיו שאלה למומחים
מתי זה עדיף על for או while רגיל?
פורסם במקור בפורום CODE613 ב16/08/2015 11:51 (+03:00)
אתה לא מגיב, מסמן תודה או מסמן כנפתר אז מה זה אומר? אני אפילו לא יודע אם קראת את התשובה שלי
אנשים משקיעים כדי לענות לך ואתה מתעלם...
האם התשובה לא מעניינת אותך ואתה סתם זורק חידות פה? השאלות האלו לא מעניינות אותי במיוחד ואם כך אני אדע לא לטרוח להגיב
פרט לכך הפורום הוא מקור ידע, ונושאים אמורים להסגר בצורה ברורה
חלילה!
ראשית תודה על המאמץ, שניכר מצורת ההגשה!
נסיתי להבין ללא הצלחה
וכמאמר הפסוק (בתנ"ך של ארכיטקט) "עדיף לנסות להבין פעם נוספת את ההסבר הקודם במקום להבין הסבר נוסף", תכננתי להדפיס ולקרוא שוב ביתר ריכוז.
לא הבנתי לאיפה נעלם בפונקציה שלך n*
ואת המשפט "ראשית פעולות הכפל מתבצעות ב"עליה" מהריקורסיה ולא ב"ירידה""
שוב תודה!
פורסם במקור בפורום CODE613 ב13/08/2015 00:46 (+03:00)
הנה הפונקציה
alert(function(n) {return (n == 0) ? 1 : n*arguments.callee(n - 1);}(5));
מדוע זה שווה 120??
האם לא מתבצע
54
+
43
+
32
+
21
+
1
??
מה אני מפספס??
פורסם במקור בפורום CODE613 ב10/08/2015 03:14 (+03:00)
א. <use strict>? אתה מכניס א"ז בקביעות לסקריפטים שלך?
ב. מה??
פורסם במקור בפורום CODE613 ב18/08/2015 10:36 (+03:00)
פה הסידרה שהבחור יצר ובדק את הקוד הזה
למשל הבא בתור (קדמו את המספר בurl)
http://jsfiddle.net/b38L4p9q/3/
מראה את הקוד הנ"ל בתחביר רגיל
function primeAlert(n) {
'use strict';
var arr = [], m, p;
for (m = 2; m <= n; m++) {
p = 1;
while (m % ++p);
if (m === p) arr.push(m);
}
arr.forEach(alert);
return 42;
}
פורסם במקור בפורום CODE613 ב18/08/2015 04:50 (+03:00)
עדיין לא הבנתי כמה דברים
for(ll=!+[]+!![];ll<_+(+!![]);ll++) {
lll=+!![];
היתה הצהרה רק על משתנה L מאיפה צמח LL ו-LLL??
forEach(alert);
מאיפה הוא יודע על איזה מערך לבצע forEach??
פורסם במקור בפורום CODE613 ב18/08/2015 04:44 (+03:00)
@דוד ל.ט.
@אהרן
@mat
פשוט כל אחד כזה. !+[] מחזיר true.כי?
כי הסימן + (כשהוא לא בין שתי אופרנדים אלא יש רק אופרנד אחריו) משמש כממיר למספר (זהה לפונקציה Number). ההתנהגות של ההמרה היא שאם זה מחרוזת ריקה או אובייקט זה מחזיר אפס. ראה דוקומנטציה בMDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Arithmetic_Operators#Unary_plus
אז +[] שווה 0.
והסימן ! הופך תוצאה בוליאנית. כיון שאפס זה שלילי אז זה מחזיר חיובי.
תודה רבה רבה!
הבנתי הרבה מהקוד, קבלתי הרבה תובנות והבנתי דברים נוספים.
פורסם במקור בפורום CODE613 ב18/08/2015 04:40 (+03:00)