从具有下划线模板的另一个函数jQuery内部调用的事件不起作用

我有一个函数,我曾经在列表中添加元素,我希望在与此列表交互时运行事件,例如单击。 如果我使用文档对象,它工作得很好但是如果我使用带有下划线模板的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'); }); }; 

你是否支持template()返回一个元素。 如果它返回一个字符串(大多数模板系统都这样做),那么click事件就不会起作用。

还有没有关闭click方法的语法错误。

所以在megakorre的帮助下,这就是答案。

 this.template = _.template($('#fileListEntity').html()); var li = $(this.template({name:doc.name})); $(parentElement).append(li); li.click(function(e) { alert('click'); });