2011-05-29 89 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() { 
    ..... 
}