我目前正在填充列表動態地根據一些網絡電話。當這些調用返回時,我使用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