我正在尝试用骨干捕获一个事件我得到了像这样的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! 有什么方法吗?
答案 0 :(得分:0)
如果您定义tagName: 'div', className: 'container'
Backbone将创建新 div.container
元素。但是,如果您想引用已存在的DOM节点,则应使用el
。我想这应该适合你:
view = new thatView({model:aModel, el: $('.container')});
确保在加载DOM后创建视图。