使用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!');
});
});
和我的HTML
{{#each o}}
<a href='' class='exl'>{{name_pl}}</a>
{{/each}}
答案 0 :(得分:9)
您可能在生成的DOM附加到页面之前绑定事件。因此,您可以等待呈现Handlebars模板(在您的情况下,这是来自tx.executeSql
的回调中的平均绑定事件)。或者您可以使用event delegation with jQuery:
$(document).on("click", ".exl", function(){
alert('event click!');
});