出于某种原因,我不知道为什么我在Backbone View中的事件不起作用。 我试图谷歌寻求答案,但我找不到任何可以帮助我的东西。
基本上,我的代码是:
var ViniView = Backbone.View.extend({
el: $('.container'),
events: {
"click .clickme" : "render"
},
render: function() {
alert("please, work");
}
});
new ViniView;
<div class="container">
<button class="clickme">
test
</button>
</div>
答案 0 :(得分:4)
您的示例在this fiddle中适合我。
正如explunit所指出的那样,你的el
应该引用一个元素,而不应该是一个jQuery对象。 $el
负责照顾。根据{{3}}:
All views have a DOM element at all times (the el property), whether they've already been inserted into the page or not.
检查您是否正确加载Jquery,Underscore和Backbone脚本(按此顺序)。还要确保在页面准备就绪后执行脚本,而不是在DOM加载完成之前(导致视图不附加到任何内容)。