2011-05-29 112 views
0

我正在通過javascript修改內部html,並且內部html包含按鈕 但是當我將jquery代碼放在按鈕上單擊事件時運行時,它不能這麼做.. 抱歉,福利局當涉及到的JavaScriptjquery相關問題

內容IM添加到HTML ..

function add() 
{ 
    var val=document.getElementById("ans").value; 

    document.getElementById("answers").innerHTML+="<tr><td>"+val+"<br/><p align=\"right\"><button class=\"replyb\">replies</button></p>"+"</td></tr>"; 

    document.getElementById("ans").value=""; 
} 

jQuery代碼...

enter code here 
+2

嗯....哪來的jQuery代碼? – stevevls 2011-05-29 09:28:39

+0

更具表現力的標題也不會傷害。我們知道它是關於'jquery',因爲它被標記爲這樣;) – 2011-05-29 09:32:21

+0

你可以使用firebug firefox add-on來調試代碼 – 2011-05-29 09:32:44

回答

0

添加followi在某個地方的頁面中,無論您是否隨時使用JavaScript添加它們,它都會處理點擊所有.replyb按鈕。

$(function(){ 

    $('button.replyb').live('click', function(){ 
     alert('clicked on button'); 
    }); 

}); 

看看jquery .live() method

1

在猜測,因爲我們沒有你的jQuery的,我會說你需要,當你更改HTML使用的.live()代替.click()按鈕將DOM
當您應用您的jQuery代碼時,它會在頁面加載時向任何DOM項目添加諸如.click()之類的任何調用。所以任何元素沒有一個.click()處理程序添加到他們。

不要解決這個問題,你可以改變你.click()

$('#someitem').click(function() { 
    ..... 
}); 

爲了這樣的事情:

$('#someitem').live('click', function() { 
    ..... 
}