我有一个Handlerbar,它有一个按钮,如下所示:
<button id="addLine" type="image" class="AddButtonClass" title="Add New Line" onclick = "addNewBlock('{{blockId}}');"></button>
然后我使用此模板动态创建对象,如下所示:
var template = window.app.getTemplate('myHandlebar');
var budgetBlock = $(template({blockId: guid}));
$("#BudgetTable tbody").append(budgetBlock);
然后我有这样的功能:
addNewBlock: function(getId){
alert(getId);
},
问题是Handlebar事件上的按钮永远不会触发。相反,我收到错误“Uncaught ReferenceError:addNewBlock is not defined”
为什么我不能将onclick事件分配给把手中的按钮?有没有办法在创建模板时动态地向按钮添加事件?
感谢
答案 0 :(得分:0)
试试这个:
<button id="addLine" type="image" class="AddButtonClass" title="Add New Line" data-id="{{blockId}}"></button>
并在您的主干中,例如在您的初始化函数中:
$('#addLine').click(function(){
alert($(this).data('id'));
});
或者你可以在骨干
中创建一个事件events: {
'click #addLine' : 'addNewBlock'
},
addNewBlock: function(e){
console.log( $(e.currentTarget).data("id"));
}