2011-06-28 57 views
2

我只想清楚在哪裏應該把JavaScript的ajax頁面應該放在。例如在我的頁面加載頁面後,我正在做一個ajax請求和檢索20條記錄每個包括周圍10個div與他們自己的一些按鈕和動作。javascript for ajax pages

現在對於新加載的元素的AJAX和客戶端JS操作,JS必須放在父函數的回調中,以便它們能夠正常工作,但是這會變得混亂,因爲我有新的約15個動作加載控件。

將所有代碼放在返回的ajax頁面中很容易。

也就是說,如果這是我從最初的請求

<div id="something"> 
<input type="button" id="btn1"> 
<input type="button" id="btn2"> 
<input type="button" id="btn3"> 
</div> 

返回如果我嵌入與返回的結果其工作正常,在沿着這些元件各自的js jQuery代碼。

$("#btn1").click(blah) 
$("#btn2").click(blah) 
$("#btn3").click(blah) 

問題是,可以這樣做嗎?

回答

5

使用$.live()方法將事件邏輯添加到稍後在頁面生命週期中添加的項目。

$(":button").live("click", function(){ 
    // This works on all buttons loaded asynchronously too 
    alert("You clicked button #" + $(this).index()); 
}); 

在線演示:http://jsbin.com/obapej/edit

+0

非常感謝你,你讓mymday – swordfish