推 Hevak: 不是不允許控制以ajax插入,而是你$('#a'aa).on('click')的 08/19 22:04
→ Hevak: 這個執行的時間點不對 08/19 22:05
→ Hevak: 上面ajax執行的時候會發出非同步的動作,等到收到回傳值才 08/19 22:05
→ Hevak: 把回傳值丟進你ajax那個參數裡面的那個function(也就是call 08/19 22:05
→ Hevak: back)。你發出了一個非同步的動作,那一行下面的code會繼續 08/19 22:06
→ Hevak: 被同步執行,無視於非同步的東西已經執行完了與否。 08/19 22:06
→ Hevak: 所以你的 $('#aaa').on('click')應該要放在$('#bbb').html( 08/19 22:07
→ Hevak: result);那一行的下面,這個時間點因為非同步的動作已經值 08/19 22:07
→ Hevak: 行完畢了,回到callback function裡面的東西又是同步的思維 08/19 22:08
→ Hevak: ,$('#bbb')先把id="aaa"的html塞進去#bbb了,這時候頁面上 08/19 22:08
→ Hevak: 才有id="aaa"的元素,同時$('#aaa')也才有辦法選擇到對應的 08/19 22:09
→ Hevak: 元素。 08/19 22:09
→ Hevak: 而你原先有問題的作法的流程是: 08/19 22:09
→ Hevak: 1. 發出一個非同步動作,此時ajax回傳值還沒回來 08/19 22:09
→ Hevak: 2. 繼續同步執行下面的$('#aaa'),因為頁面上還沒有id="aaa 08/19 22:10
→ Hevak: "的元素,所以$("#aaa")選不到任何東西,也綁不上事件 08/19 22:10
→ Hevak: 3. 這時候ajax回傳值才回來,執行$('#bbb').html(result), 08/19 22:10
→ Hevak: 直到這時候的bbb裡面才有id="aaa"的元素 08/19 22:11
推 CrazyAngel: $('#bbb').on('click', '#aaa', function(){ ... }); 08/20 22:33