骨干事件未触发

时间:2012-12-08 07:05:12

标签: javascript events backbone.js

我正在尝试用骨干捕获一个事件我得到了像这样的HTML

<!DOCTYPE html>
<html>
<head id="head"> 
    <title>Con RequireJS</title>
    <script data-main="Scripts/main" src="Scripts/require.js"></script>
</head>
<body>
    <div class="container">
            <button class="btnAuthenticate">Login with FourSquare</button>
    </div>

</body>
</html>

我正试图通过

点击该按钮捕获de事件
events : {
'click .btnAuthenticate' : 'doAction' 
}

但是当我使用

创建视图时
view = new thatView( {model:aModel, tagName: 'div', className: 'container' } ) ;

el似乎在控制台中是正确的

console.log(view.el) 

得到我

<div class="container><div>

但事件不起作用! 如果我打电话

view = new thatView({el:'body'});

它做了它的假设,但后来我无法附加到我想要的el! 有什么方法吗?

1 个答案:

答案 0 :(得分:0)

如果您定义tagName: 'div', className: 'container' Backbone将创建 div.container元素。但是,如果您想引用已存在的DOM节点,则应使用el。我想这应该适合你:

view = new thatView({model:aModel, el: $('.container')});

确保在加载DOM后创建视图。

更多信息http://backbonejs.org/#View-constructor