骨干事件不起作用

时间:2013-03-22 16:52:10

标签: backbone.js

出于某种原因,我不知道为什么我在Backbone View中的事件不起作用。 我试图谷歌寻求答案,但我找不到任何可以帮助我的东西。

基本上,我的代码是:

骨干:

var ViniView = Backbone.View.extend({
    el: $('.container'),
    events: {
        "click .clickme" : "render"
    },
    render: function() {
        alert("please, work");
    }
});

new ViniView;

HTML

<div class="container">
    <button class="clickme">
    test
    </button>
</div>

1 个答案:

答案 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加载完成之前(导致视图不附加到任何内容)。