2016-02-28 121 views
0

我有一個帶有2個選項卡的網頁和一個更新的<div id="content">區域。當你點擊一個標籤時,jquery會執行一個AJAX調用,從數據庫中檢索相關數據並將其插入到<div id="content">中。內容使用jquery生成,主要使用$("#content").append('whatever...')。這工作正常。在AJAX呼叫之後,下一個AJAX呼叫不起作用

問題是,當我嘗試點擊從原來的jquery調用創建的按鈕。它不起作用。我假設這是因爲我的jquery腳本是在這個html代碼生成之前加載的,對嗎?

所以,我的問題是,如何讓我生成的內容與我的jQuery腳本一起工作?

我猜有可能對我來說,創建2周的div: ,然後使用jQuery來隱藏/顯示相關股利。這是一個可能的解決方案還是有更標準的方法?

額外的信息:

  • WordPress站點
  • $wpdb用於數據庫的交互
  • 使用wp_enqueue_script()入隊我jQuery腳本

謝謝:)

+0

生成的代碼也應包含其中應事件綁定到所述動態地生成的內容 – linktoahref

+2

您可以爲新創建的元素重新結合(解除綁定/綁定)動作或看到代碼活動代表團 –

+0

我將詳細瞭解活動委派。這似乎是我正在尋找的。在將其標記爲已解決之前,我將保留其他答案。謝謝。 – liverpaul

回答

1
$(staticParent).on('click', dynamicChild, function() {}); 

所以

$("#bar").on('click', function(){ 
    $("#foo").append("<input type='button' />"); 
}); 
$("#foo").on('click','input', function(){ 
    alert('Hello World'); 
}); 

<p id="bar">Klik Me!!</p> 
<div id="foo"></div> 

https://jsfiddle.net/adgx7e35/