0

バックボーンでイベントをキャプチャしようとしていますが、このような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>

そして、そのボタンをクリックしてイベントをキャプチャしようとしています

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に追加できません! これを回避する方法はありますか?

4

1 に答える 1

0

tagName: 'div', className: 'container'Backboneを定義すると、新しい div.container要素が作成されます。ただし、既存の DOM ノードを参照する場合は、el代わりに使用する必要があります。私はこれがあなたのために働くはずだと思います:

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

DOM のロード後に必ずビューを作成してください。

詳細http://backbonejs.org/#View-constructor

于 2012-12-08T07:41:17.980 に答える