无法使用jquery来定位使用Mustache.js呈现的元素

时间:2014-03-20 22:24:09

标签: jquery templates mustache

我遇到了问题

我用Mustache.js创建了一个模板(例子):

<script type="text/template" id="info">
  <div id="info-content">
    {{>photoEl}}                
  </div>
</script>

创建某些元素并添加为partials(示例):

partials.photoEl = '<span class="photo"><a class="button" href="#"></a></span>';

但是我不能使用jQuery来定位任何元素。

$('.button').click(function(event){
  console.log('click');
});

什么都不做......

知道为什么吗?

1 个答案:

答案 0 :(得分:8)

使用event delegation这将为将来的元素添加处理程序。

如果您使用$(".button")且该元素不在DOM中,则事件处理程序将无法工作,因为将选择注释

$(document).on("click",".button",function(){
  console.log('click');
})