פורסם 2013 בנובמבר 1512 שנים שלום לכולם אני חדש פה כמו שאתם רואיםבעיקרון אני מפתח java ו-C# אבל כרגע אני מפתח ב-java אפליקציות לאנדרואיד.אני מפתח עכשיו אפליקציית browser ואני רוצה לשלב בא קוד javascript בשביל זה הגעתי לכאן.אני לא יודע כל כך javascript יותר נכון אני לא יודע בכלל ובגלל זה הגעתי לכאן אני רוצה ללמוד קצת javascript וכבר התחלתי לקורא כל מני מאמרים.עכשיו נחזור לבעיה שלי לכרגע.פיתחתי אפליקצית browser לאנדרואיד וכאשר הדף נטען אני משלב את הקוד הבא "var isDown = false;" + "var timer;" + "var links = document.getElementsByTagName('a');" + "for(var i=0; i<links.length; i++) {" + "var link = links[i];" + "link.style.background = 'red'; " + "link.onmousedown=function(){" + "isDown = false;" + "timer = setTimeout(function(){" + "isDown = true;" + "window.FIND_URLS.urlDown(this.href);" + "}, 500);" + "};" + "link.onmouseup=function(){" "if(isDown == true){" + "window.FIND_URLS.urlUp(this.href,0,6);" + "}" + "clearTimeout(timer);" + "};" + "}";כמו שאמרתי בעקרון אני כותב ב-java ולכן כל + ו-" האלה. עכשיו הקוד עובד לי כמעט טוב מה שאני עושה זה לקבל את url שבאתר את זה אני מצליח מצויין. לאחר מכן אני עושה לולאת for על כל url ומוסיף לו onmousedown ו-onmouseup בעצם מה שאני רוצה לעשות זה להוסיף את היכולת שיקרה משהו כאשר המשתמש ילחץ לחיצה ארוכה על לינק מסויים ולכן הוספתי את שני ה-events האלה כאשר onmousedown מתחיל טיימר של חצי שניה וברגע שהטיימר מסתיים אני עובר לקוד java שלי עם המשתמש סיים את הלחיצה לפני שהטיימר סיים את הלחיצה אני מנקה את הטיימר.מה שלא עובד פה בעצם שמשום מה onmousedown מתבצע לי רק כאשר אני עוזב את הלינק כלומר אני לוחץ הטיימר לא מתחיל לעבוד (בדקתי את זה בכל מני אפשרויות וזה בטוח לא עובד ) אבל כאשר אני עוזב את הלחיצה מתבצע לי גם onmousedown וגם onmouseup ואני עובר לקוד java שלי לאחר שני ה-events האלומה שאני לא מבין זה למה ה-onmousedown לא עובד כאשר אני מתחיל את הלחיצהתודה לכל העוזרים אני מקווה שהצלחתי להסביר את עצמי
פורסם 2013 בנובמבר 1512 שנים אתה מפתח את האפליקציה לאנדרואיד, זה אומר שמה שאתה מנסה לתפוס זה לחיצות על מסך מגע, לא לחיצות עכבר. נכון?אם כן, אתה אמור להשתמש בtouch events, לא mouse events.
פורסם 2013 בנובמבר 1512 שנים מחבר אוקי תודה רבהעל העזרה המהירה זה באמת עובד ושיניתי את הקוד שיראה כך "var timer;" + "var links = document.getElementsByTagName('a');" + "for(var i=0; i<links.length; i++) {" + "var link = links[i];" + "link.style.background = 'red'; " + "link.ontouchstart=function(){" + "timer = setTimeout(function(){" + "window.FIND_URLS.longClickUrl(link.href);" + "}, 500);" + "};" + "link.ontouchend=function(){" + "clearTimeout(timer);" + "};" + "}";עכשיו הבעיה שלי היא שהטיימר מסתיים עובר אלי הלינק האחרון שנקרא ולא הלינק שנלחץ אני קצת מבין את הבעיה ממה שקראתי עד עכשיו אבל לא בדיוק איך אני יכול לפתור אותה איך בדיוק אני צריך לכתוב בשביל שזה יעבוד?
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.