我目前正在填充列表动态地根据一些网络电话。当这些调用返回时,我使用HTML模板根据调用响应将其他项添加到列表中。我也试图使用jQuery将一些事件附加到这些对象上,但是当我生成这些项目时,似乎只有最后生成的项目才具有适当的事件触发。动态项目和jQuery事件绑定
所以这里是代码:
的JavaScript生成的HTML字符串和它添加到列表:
List.innerHTML += html;
使用moustache.js生成的HTML和正确呈现,我设置了在添加它之前在模板中添加id。
模板具有这种形式:
var template = '<li style="width:400px; height:100px" id="{{id}}" ><img src="{{source}}" style="float:left"/>{{title}} <button id="{{id}}button">Delete</button></li>';
,所有的元素都适当地进行更换。
然后我试着点击事件附加到按钮和双击事件的整个列表对象:
$('#' +id +'button').bind('click', function() {
//SOME STUFF GOES HERE
});
$('#' +id +'button').bind('dblclick', function() {
//MORE STUFF GOES HERE
});
林不知道为什么事件难道不附加到每个对象,我失去的东西吗?
谢谢!
是T中的元素当你尝试绑定事件时他DOM? – sachleen 2012-07-06 18:55:02
你是否在循环中添加了它们或之后的那些函数?显示更多代码。 – 2012-07-06 18:55:31
我在创建它们的循环内部进行了绑定,但是在将HTML添加到列表后,事件被注册。 – 2012-07-06 18:57:22