2016-07-12 56 views
0

我有一個頁面發送異步Jquery請求到另一個頁面,並且我收到一個響應按鈕。 按鈕有類「delete_button」。將Jquery事件綁定到異步事件響應中的按鈕

<BUTTON class="delete_button">Delete</BUTTON> 

問題是,這個「新」按鈕沒有綁定(並且不觸發)任何jquery事件。我已經嘗試使用.on()函數(和舊的棄用.live()),但我無法將一個事件綁定到該按鈕。 Jquery甚至如下。

$(".delete_button").on("click", function(){ 
    //Code here... 
});  

我已經檢查了使用調試器,該按鈕實際上有正確的類,並且Javascript信號沒有錯誤。在控制檯中沒什麼奇怪的。 簡單地說,事件不會發生。

+0

可能重複的[事件綁定動態創建的元素?](http://stackoverflow.com/questions/203198/event-binding-on-dynamically-created-elements) – vijayP

回答

1

讓我們說,當你收到你的delete_button,它被附加到一個div,以便它在該div內,例如,

<div id="myDiv"> 
    <button class="delete_button">Delete</button> 
</div> 

知道了這一點,你可以像這樣的事件創建:

$("#myDiv").on("click", ".delete_button", function(){ 
    //Code here... 
}); 

這樣的事件必然會這肯定存在的元素,然後jQuery的代表該事件的任何動態創建的元素與.delete_button選擇器。

你現在這樣做的方式,使用.on並不重要,因爲初始選擇器(在$(「selector」))部分必須是頁面加載時存在的東西。請參閱http://api.jquery.com/on/以及名爲「直接和委託事件」的部分以獲得更全面的解釋。

+0

它工作完美,所有新的按鈕,得到創建與該div正確綁定並觸發事件。謝謝,這正是我所期待的。 – Crystallize

+0

沒問題,樂意幫忙 – ADyson