<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[שאילתת Jquery לא מגיבה]]></title><description><![CDATA[<p dir="auto">נתון הקוד הבא:</p>
<pre><code>&lt;script&gt;
     $(document).ready(function() {
         $("#myBtn").click(function() {//foo1
             var num = $("#myInput input").val();
             for (i = 0; i &lt; num; i++) {
                 $("#myOutput").append($("#myBtn").html());
                 $("#myOutput #main").text(" לחצן " + (i + 1));
                 $("#myOutput #main").attr("id", "l" + (i + 1));
             }
         });
         $("#myOutput button").click(function() {//foo2
             alert("in button under #myOutput")
         });
     });
 &lt;/script&gt;
&lt;body&gt;
 &lt;div id="myInput"&gt;
     &lt;input type="text"&gt;
 &lt;/div&gt;
 &lt;div id="myBtn"&gt;
     &lt;button id="main"&gt;לחץ כאן&lt;/button&gt;
 &lt;/div&gt;
 &lt;div id="myOutput"&gt;
 &lt;/div&gt;
&lt;/body&gt;
</code></pre>
<p dir="auto">מה שהקוד מבצע, הוא קבלת קלט מספרי בשדה הקלט, והדפסת לחצני מספרים אשר מספרם זהה לערך שנקלט. (מסומן כ-foo1).</p>
<p dir="auto">השלב הבא אמור להיות שבלחיצה על אחד מהלחצנים, תקפוץ הודעת ()alert. (מסומן כ-foo2) דבר זה אמור להתבצע על ידי הסלקטור</p>
<pre><code>"#myOutput button"
</code></pre>
<p dir="auto">שכן הקוד נראה בשלב זה בצורה הבאה:</p>
<pre><code>&lt;div id="myOutput"&gt;
        &lt;button id="l5"&gt; לחצן 5&lt;/button&gt;
   ...
   ...
        &lt;button id="l1"&gt; לחצן 1&lt;/button&gt;
    &lt;/div&gt;
</code></pre>
<p dir="auto">בפועל השלב הראשון שתיארתי עובד מצויין ואכן מודפסים הלחצנים. בשלב השני משום מה הדפדפן מתעלם מהקריאה לסלקטור הנ"ל וכלל לא נכנס לפונקציה.<br />
מהו ההסבר לכך?<br />
תודה רבה.</p>
]]></description><link>https://tchumim.com/topic/11092/שאילתת-jquery-לא-מגיבה</link><generator>RSS for Node</generator><lastBuildDate>Mon, 20 Apr 2026 16:38:52 GMT</lastBuildDate><atom:link href="https://tchumim.com/topic/11092.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 24 Apr 2021 20:10:33 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to שאילתת Jquery לא מגיבה on Mon, 10 May 2021 09:57:49 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/dovid">@<bdi>dovid</bdi></a> אמר ב<a href="/post/122565">שאילתת Jquery לא מגיבה</a>:</p>
<blockquote>
<p dir="auto">היה פעם <a href="https://api.jquery.com/live/" target="_blank" rel="noopener noreferrer nofollow ugc">live</a> אבל הוא יצא משימוש, במקומו משתמשים בon על אלמנט קיים ומציינים בארגומנט השני את הסלקטור של האלמנט העתידי:</p>
<pre><code>$(document).on('click', 'button', function() { alert($(this).text() + ' clicked!') });
</code></pre>
<p dir="auto">היום jQuery נחשב מיושן מעט, וקל מאוד גם בלעדיו לעשות את רוב הדברים.<br />
פה למשל, קל להצמיד אירוע תוך יצירת האלמנט וזה מייתר את השאלה.</p>
</blockquote>
<p dir="auto">סייעת לי רבות, איש יקר.</p>
]]></description><link>https://tchumim.com/post/122568</link><guid isPermaLink="true">https://tchumim.com/post/122568</guid><dc:creator><![CDATA[yyy]]></dc:creator><pubDate>Mon, 10 May 2021 09:57:49 GMT</pubDate></item><item><title><![CDATA[Reply to שאילתת Jquery לא מגיבה on Mon, 10 May 2021 07:41:41 GMT]]></title><description><![CDATA[<p dir="auto">היה פעם <a href="https://api.jquery.com/live/" target="_blank" rel="noopener noreferrer nofollow ugc">live</a> אבל הוא יצא משימוש, במקומו משתמשים בon על אלמנט קיים ומציינים בארגומנט השני את הסלקטור של האלמנט העתידי:</p>
<pre><code>$(document).on('click', 'button', function() { alert($(this).text() + ' clicked!') });
</code></pre>
<p dir="auto">היום jQuery נחשב מיושן מעט, וקל מאוד גם בלעדיו לעשות את רוב הדברים.<br />
פה למשל, קל להצמיד אירוע תוך יצירת האלמנט וזה מייתר את השאלה.</p>
]]></description><link>https://tchumim.com/post/122565</link><guid isPermaLink="true">https://tchumim.com/post/122565</guid><dc:creator><![CDATA[dovid]]></dc:creator><pubDate>Mon, 10 May 2021 07:41:41 GMT</pubDate></item><item><title><![CDATA[Reply to שאילתת Jquery לא מגיבה on Sun, 09 May 2021 17:20:18 GMT]]></title><description><![CDATA[<p dir="auto">לאחר כל הנ"ל האם יש דרך לגרום לשאילתת JQ לרוץ גם על אלמנטים שיווצרו בעתיד?</p>
]]></description><link>https://tchumim.com/post/122531</link><guid isPermaLink="true">https://tchumim.com/post/122531</guid><dc:creator><![CDATA[yyy]]></dc:creator><pubDate>Sun, 09 May 2021 17:20:18 GMT</pubDate></item><item><title><![CDATA[Reply to שאילתת Jquery לא מגיבה on Sat, 24 Apr 2021 21:03:36 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/odeddvir">@<bdi>odeddvir</bdi></a> אמר ב<a href="/post/121836">שאילתת Jquery לא מגיבה</a>:</p>
<blockquote>
<p dir="auto">אבל כעת אני לא מבין מה ההבדל בין הקוד שלו לשלך...</p>
</blockquote>
<p dir="auto">אצל <a class="plugin-mentions-user plugin-mentions-a" href="/user/yyy">@<bdi>yyy</bdi></a> הלחצנים נוצרים רק לאחר אירוע לחיצה על אלמנט #myBtn, והקוד שמאגד ללחצנים פונקציה, רץ מיד כשהמסמך מוכן...</p>
]]></description><link>https://tchumim.com/post/121838</link><guid isPermaLink="true">https://tchumim.com/post/121838</guid><dc:creator><![CDATA[WWW]]></dc:creator><pubDate>Sat, 24 Apr 2021 21:03:36 GMT</pubDate></item><item><title><![CDATA[Reply to שאילתת Jquery לא מגיבה on Sat, 24 Apr 2021 21:03:32 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/odeddvir">@<bdi>odeddvir</bdi></a> אמר ב<a href="/post/121836">שאילתת Jquery לא מגיבה</a>:</p>
<blockquote>
<p dir="auto">אני כעת משער שאפשר להשתמש בסלקטור גלובלי עבור כל הלחצנים, כפי שכתבת.</p>
</blockquote>
<p dir="auto">כן. כך היא צורת העבודה ב-Jquery. אם הסלקטור מתאים לכמה אלמנטים - הפעולות המשורשרות חלות על כל האלמנטים.</p>
<blockquote>
<p dir="auto">אבל כעת אני לא מבין מה ההבדל בין הקוד שלו לשלך...</p>
</blockquote>
<p dir="auto">פירמטתי אותו קצת שיהיה יותר ברור.</p>
]]></description><link>https://tchumim.com/post/121837</link><guid isPermaLink="true">https://tchumim.com/post/121837</guid><dc:creator><![CDATA[yossiz]]></dc:creator><pubDate>Sat, 24 Apr 2021 21:03:32 GMT</pubDate></item><item><title><![CDATA[Reply to שאילתת Jquery לא מגיבה on Sat, 24 Apr 2021 20:53:28 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/yossiz">@<bdi>yossiz</bdi></a> אמר ב<a href="/post/121833">שאילתת Jquery לא מגיבה</a>:</p>
<blockquote>
<p dir="auto">כמו ש@OdedDvir התכוון להעיר, אתה מנסה לאגד event handler לאלמנטים בשעה שעוד לא נוצרו.</p>
</blockquote>
<p dir="auto">האמת שבכלל לא התכוונתי לזה...<br />
אני הבנתי מהקוד שלו שהאלמנטים כבר נוצרו, אבל שהבעיה הייתה בסלקטור... אני כעת משער שאפשר להשתמש בסלקטור גלובלי עבור כל הלחצנים, כפי שכתבת.<br />
אבל כעת אני לא מבין מה ההבדל בין הקוד שלו לשלך...</p>
<blockquote>
<p dir="auto">או יותר אלגנטי</p>
</blockquote>
<p dir="auto"><img src="https://tchumim.com/assets/plugins/nodebb-plugin-emoji/emoji/android/1f60a.png?v=9d71ebe86e6" class="not-responsive emoji emoji-android emoji--blush" style="height:23px;width:auto;vertical-align:middle" title=":blush:" alt="😊" /></p>
]]></description><link>https://tchumim.com/post/121836</link><guid isPermaLink="true">https://tchumim.com/post/121836</guid><dc:creator><![CDATA[OdedDvir]]></dc:creator><pubDate>Sat, 24 Apr 2021 20:53:28 GMT</pubDate></item><item><title><![CDATA[Reply to שאילתת Jquery לא מגיבה on Sat, 24 Apr 2021 21:00:35 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/yyy">@<bdi>yyy</bdi></a> כמו ש@OdedDvir התכוון להעיר, אתה מנסה לאגד event handler לאלמנטים בשעה שעוד לא נוצרו.</p>
<p dir="auto">אפשר לעשות את הפעולה בתוך לולאת ה-for כמו ש-<a class="plugin-mentions-user plugin-mentions-a" href="/user/odeddvir">@<bdi>OdedDvir</bdi></a> כתב, או יותר אלגנטי (<img src="https://tchumim.com/assets/plugins/nodebb-plugin-emoji/emoji/android/1f609.png?v=9d71ebe86e6" class="not-responsive emoji emoji-android emoji--wink" style="height:23px;width:auto;vertical-align:middle" title=":wink:" alt="😉" /> ) אחרי הלולאה אבל בתוך <code>‎$("#myBtn").click</code> כאשר האלמנטים כבר קיימים :</p>
<pre><code>$(document).ready(function () {
  $("#myBtn").click(function () { //foo1
    var num = $("#myInput input").val();
    for (i = 0; i &lt; num; i++) {
      $("#myOutput").append($("#myBtn").html());
      $("#myOutput #main").text(" לחצן " + (i + 1));
      $("#myOutput #main").attr("id", "l" + (i + 1));
    }
    $("#myOutput button").click(function () { //foo2
      alert("in button under #myOutput")
    });
  });
});

</code></pre>
]]></description><link>https://tchumim.com/post/121833</link><guid isPermaLink="true">https://tchumim.com/post/121833</guid><dc:creator><![CDATA[yossiz]]></dc:creator><pubDate>Sat, 24 Apr 2021 21:00:35 GMT</pubDate></item><item><title><![CDATA[Reply to שאילתת Jquery לא מגיבה on Sat, 24 Apr 2021 20:31:50 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/yyy">@<bdi>yyy</bdi></a> אני לא מנוסה ב-JQuery, אבל אנסה בכל זאת...<br />
הוצאת את הקוד של פונקצית האירוע מלולאת ה for, כשלכאורה אתה צריך להצמיד אותו לכל לחצן. משהו כזה אולי:</p>
<pre><code>for (i = 0; i &lt; num; i++) {
    $("#myOutput").append($("#myBtn").html());
    $("#myOutput #main").text(" לחצן " + (i + 1));
    $("#myOutput #main").attr("id", "l" + (i + 1));
    $("#l" + (i+1)).click(function() {//foo2
         alert("in button under #myOutput")
      }
}
</code></pre>
]]></description><link>https://tchumim.com/post/121832</link><guid isPermaLink="true">https://tchumim.com/post/121832</guid><dc:creator><![CDATA[OdedDvir]]></dc:creator><pubDate>Sat, 24 Apr 2021 20:31:50 GMT</pubDate></item></channel></rss>