事件单击Handlebars

Pio*_*nek 2 events click handlebars.js

使用Handlebars和OpenDatabase我有一个小问题.当您单击链接时没有任何反应

我的JS.

  db.transaction(function (tx) {
  tx.executeSql('SELECT * FROM exhibition', [], function (tx, results) {
  var source = document.querySelector("#exhibition-template").innerHTML;
  var data = [];
  template = Handlebars.compile(source);

  for(var i=0;i < results.rows.length; i++) {
      data.push(results.rows.item(i));
  }
  var context = (data);
  if (language == 'pl')
  {
    var html = template({o:context,language_pl:true});
  }else{
    var html = template({o:context,language_en:true});
  }
  document.querySelector("#template").innerHTML = html;  

 }, null);

$(".exl").on("click", function(){
  alert('event click!');
});

});
Run Code Online (Sandbox Code Playgroud)

和我的HTML

  {{#each o}}
  <a href='' class='exl'>{{name_pl}}</a>
  {{/each}}
Run Code Online (Sandbox Code Playgroud)

Sim*_*ias 9

您可能在生成的DOM附加到页面之前绑定事件.因此,您可以等待呈现Handlebars模板(在您的情况下,这是回调中的平均绑定事件tx.executeSql).或者你可以使用jQuery的事件委托:

$(document).on("click", ".exl", function(){
  alert('event click!');
});
Run Code Online (Sandbox Code Playgroud)