我有一个用于向列表中添加元素的函数,我希望在与此列表交互时运行事件,例如单击。如果我使用文档对象,它工作得很好但是如果我使用带有下划线模板的jQuery,元素会成功附加,但事件不会触发。
var addElement = function(parentElement){
//would work
this.thisElement = document.createElement('li');
parentElement.appendChild(thisElement);
$(this.thisElement).click(function(event){
alert('working');
});
//doensn't work
this.template = _.template($('#fileListEntity').html());
var li = this.template();
$(parentElement).append(li);
$(li).click(function(e) {
alert('notWorking');
});
};
答案 0 :(得分:2)
你支持template()返回一个元素。如果它返回一个字符串(大多数模板系统都这样做),那么点击事件就不会起作用。
还有没有关闭点击方法的语法错误。
答案 1 :(得分:0)
所以在megakorre的帮助下,这就是答案。
this.template = _.template($('#fileListEntity').html());
var li = $(this.template({name:doc.name}));
$(parentElement).append(li);
li.click(function(e) {
alert('click');
});