作者a517981 (Azure)
看板Ajax
標題[ajax] ajax產生的新元素無法套用jQuery外掛
時間Thu Mar 17 23:55:05 2011
下面是html的程式碼
<div class="job">
<h3><a href="#">標題</a></h3>
<div>內文</div>
</div>
然後套用了以下jQuery外掛
$(function() {
$(".job").accordion({
autoHeight:false,
navigation:true,
collapsible:true,
active:false
});
});
今天我用ajax在 $(".job") 的結尾又插入了一組
<h3><a href="#">標題</a></h3>
<div>內文</div>
變成了
<div class="job">
<h3><a href="#">標題</a></h3>
<div>內文</div>
<h3><a href="#">標題</a></h3>
<div>內文</div>
</div>
但是新加入的元素就不會套用外掛的效果了
雖然重新整理以後就能套用
但都使用了ajax就是希望不要重新整理或換頁
也試過把外掛的那幾行程式碼重新呼叫一次
但還是沒有用
請問要如何讓新加入的元素也能套用外掛呢?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 59.116.0.116
※ 編輯: a517981 來自: 59.116.0.116 (03/17 23:56)
※ 編輯: a517981 來自: 59.116.0.116 (03/18 00:10)
1F:推 mesak:重跑一次嚕 新的 DOM 不會綁到事件,在跑一次就可以了 03/18 00:24
2F:→ a517981:可是我重跑了一次那個外掛 還是不能耶 我也覺得奇怪@@ 03/18 00:47
3F:→ a517981:如果是事件的話我是用live()來綁定 不過外掛好像不能這樣 03/18 00:47
4F:推 mesak:.accordion('refresh') 03/18 00:55
6F:→ a517981:喔喔!! 這是正解XD 原來要從外掛的API下手 03/18 01:03
7F:→ a517981:真的很謝謝你!! 03/18 01:03