Re: [問題] .html()之後 的事件

看板Ajax作者 (sowhysowhat)時間16年前 (2009/08/27 18:10), 編輯推噓5(5011)
留言16則, 4人參與, 最新討論串2/3 (看更多)
※ 引述《sowhysowhat (sowhysowhat)》之銘言: : $("#a > img").click(){ : $("#a").html("<img src='xxxxx' id='b'>"); : } : $("#b").click(){ : alert("it works~!!"); : } : 為什麼像上述這樣用.html()或.append()上去的東西 : 沒辦法對他們去偵測事件呢? : 而這樣卻可以?不太明白阿=''= : $("#a > img").click(){ : $("#a").html("<img src=xxxxx id='b'>"); : $("#b").click(){ : alert("it works~!!"); : } : } 原本想用以上的方式在同一個頁面下建立 一個2層的menu 點第一層的圖就到那張圖的下一層所屬的圖集 我都用.html()去改變區塊裡面顯示的圖 問題是在要怎麼回到上一層呢-.-? 像一開始假如有A B C D 4張圖 如果點A進去到下一層只顯示a1 a2 a3的圖 包括一個可以回到上一層的圖 如果點B進去到下一層只顯示b1 b2 b3的圖 包括一個可以回到上一層的圖 C和D也是如此 但是用.html()的方式顯示回第一層A B C D之後 像第一篇的問題一樣 此時click A B C D就會沒效果 是原本就不該用這種方法建menu嗎? 還是..有像類似遞迴的東西可以讓.html()寫出來的物件可以同時對他作事件偵測 這樣講不知道問題清不清楚 囧TZ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.160.116.158

08/27 18:45, , 1F
通融的辦法是一次把menu寫出來,不要的藏起來就好了
08/27 18:45, 1F

08/27 18:48, , 2F
另一個是找個字串記住上一層
08/27 18:48, 2F

08/27 19:29, , 3F
阿 第一個方法應該很簡單 沒想到XD
08/27 19:29, 3F

08/27 19:30, , 4F
最後一直在想怎樣貼在每貼一HTML 再執行一次對新物件
08/27 19:30, 4F

08/27 19:32, , 5F
事件偵測 剛剛用function遞迴把他搞出來了 不知道想
08/27 19:32, 5F

08/27 19:33, , 6F
法對不對XD 每次遞迴裡面的click事件發生後才會再遞迴
08/27 19:33, 6F

08/27 19:34, , 7F
下去 所以每更新一次HTML就會貼一次對新物件的偵測
08/27 19:34, 7F

08/27 19:36, , 8F
一開始還很天真的想把js code append 到新的html code
08/27 19:36, 8F

08/27 19:37, , 9F
不過 還是不懂K大說得第2個方法?
08/27 19:37, 9F

08/27 21:10, , 10F
就找個字串比如$("#b").attr("parent",$("#a").html());
08/27 21:10, 10F

08/27 21:11, , 11F
要不然就存到cookie裡去啊
08/27 21:11, 11F

08/27 21:11, , 12F
兩層以上就會弄得很複雜
08/27 21:11, 12F

08/28 11:11, , 13F
如果是jQuery $('xxx').live('click',function(){...});
08/28 11:11, 13F

08/28 17:22, , 14F
阿 樓上這東西就是我想要的~! 太棒了=口=+
08/28 17:22, 14F

08/28 21:20, , 15F
喔喔,能幫上忙就太好了
08/28 21:20, 15F

08/29 01:22, , 16F
不過.live在ie6上還是有點支援上的問題
08/29 01:22, 16F
文章代碼(AID): #1Abbjw4K (Ajax)
討論串 (同標題文章)
文章代碼(AID): #1Abbjw4K (Ajax)