2012-12-13 145 views
0

我有一個按鈕,它是由jquery/ajax添加的,我想從它獲取它的值(數字),當它被點擊。問題是它永遠不會燃燒。如果我已經點擊了,即使在.ready中,如果在外面它也沒有任何反應,它會在負載上觸發。單擊事件處理程序觸發就緒,但不點擊

$('.page').on("click", function(event){ 
    alert("clicked"); 
} 

<button class="page">1</button> 

我在這裏做錯了什麼?

回答

2

嘗試,而不是:

$('body').on("click", ".page", function(event){ 
    alert("clicked"); 
} 

因爲你的元素被動態地添加,則需要根據存在的頁面加載時,在元素上的單擊事件綁定。理想情況下,你想要一個元素在DOM中比身體更接近,但最壞的情況下,你可以使用它。

docs

的事件處理程序僅結合到當前選擇的元素;在代碼調用.on()時,頁面上必須存在 。 要確保元素存在並且可以選擇,請在頁面上的HTML標記中的 HTML標記中對元素執行文檔就緒處理程序內的事件 綁定。如果新頁面被注入頁面, 選擇元素並附加事件處理程序,當新的HTML被放置到頁面中時,頁面中的內容爲 。

+0

Doh!我其實已經想到了這一點,但是我猜它已經晚了,所以我忘了試試它:)感謝幾乎即時的答案! – DominicM

+0

我綁定我的ajax調用點擊事件...但它仍然加載文檔準備好了嗎?任何想法爲什麼? – aahhaa

+0

@wlin - 不可能從您的評論中分辨出來。創建一個問題,並確保發佈您的代碼。 – j08691