【发布时间】:2013-07-04 06:45:39
【问题描述】:
查看:
Member.Views.Popover = Backbone.View.extend({
template: "member/default",
tagName: 'a',
className: 'header-auth member',
events: {
'click a.member': 'toggle'
},
initialize: function() {
//todo
},
toggle: function(){
console.log("toggle");
}
});
输出:
<a class="header-auth member">
//content from template
</a>
第一个问题:首先我只定义了一个没有 tagName 和 className 的模板,因为这个数据已经在模板中设置了。但这用 div 包裹了模板。为了避免这种情况,我设置了 tagName 和 className 并从模板中删除了这些数据,因为现在它是由主干设置的。
第二个问题:现在我使用 tagName,点击事件不再起作用。
任何想法如何解决这个问题?
【问题讨论】:
-
你在哪里调用视图渲染?
-
您可以将
click a.member更改为仅click,因为该元素是您的视图。 -
@kalley 这行得通^^ 将其作为答案
-
@Matt app.useLayout("main-layout").setViews({ ".aClass": new Member.Views.Popover({model : this.member }) }).render() ;在 main.js 中
标签: javascript jquery backbone.js