看板 Ajax 關於我們 聯絡資訊
請問我用ajax傳回的資料大概如下 get.php: echo "<ul> <span class='sd'><img src='...'/></span> </ul>"; 使用jQuery index.js: function test(){ $.ajax({ url:"get.php", success:function(re){ $("#d1").html(re); } }); } test(); $(".sd").click(function(){alert("!!");}); index.php: <div id="d1">...</div> <div id="d2">...</div> selector居然都找不到.sd 但是我改成 $("#d2").click(alert("!!"); 馬上就有反應了 這是代表後來加入的資料無法被selector找到嗎? 該如何解決呢? 承蒙高手解答了 謝謝~ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 111.255.192.133
mrbigmouth:jquery1.7.1以前 請用live綁定尚未出現的元素的事件 03/04 11:57
mrbigmouth:1.7.1以後可以用on 03/04 11:57
mrbigmouth:當然你也可以直接再ajax的callback裡去綁click... 03/04 11:58
mrbigmouth:詳細用法 自己google jquery live或jquery on應該很多 03/04 11:59
musie:我倒是覺得應該該不會是你 d1沒加# 03/04 12:07
musie:用$("#d1").delegate(".sd" ,click , function) 效率會更好 03/04 12:08
抱歉,是我筆誤= = 已修改 幾種方法測試後都可使用 太感謝兩位 ※ 編輯: goode9969 來自: 111.255.192.133 (03/04 12:25)
mrbigmouth:忘掉delegate了...基本上on可以取代delegate... 03/04 12:55
mrbigmouth:(而且短的多 不用記單字= =) 03/04 12:55