1

この質問が出されたことは知っていますが、これはその質問とは異なります。単なるJavascriptで解決しようとしています。

この問題は、backbone.jsアプリケーションに関連しています。これを最も単純な形式に落とし込みましたが、イベントを機能させることができません。どんな提案でも大歓迎です。

私のコード:

<!DOCTYPE HTML>
<html lang="en-US">
<head>
    <meta charset="UTF-8">
    <title>Learning About Backbone.js Views</title>
    <style type="text/css">
        #container { padding:20px; border:1px solid #333; width:400px; }
        #list-template { display:none; }
    </style>
    <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script type="text/javascript" src="http://documentcloud.github.com/underscore/underscore-min.js"></script>
<script type="text/javascript" src="http://documentcloud.github.com/backbone/backbone-min.js"></script>

    <script type='text/javascript'>
      var ListView=Backbone.View.extend({
        initialize:function(){
            console.log('initialized');
        },
        el:'body',
        events:{
            'click #add':'time',
            'click':'whatApp'
        },
        time: function()
        {
            console.log('hooooooop');
        },
        whatApp:function()
        {
            console.log('Coool');
        }
      });
      var listView = new ListView();
    </script>
</head>
<body>
<button id='add'>Add list item</button>

</body>
</html>
4

2 に答える 2

1

あなたがしていることに何も問題はありません。ボディ(またはdom)が表示される前にビューを初期化しようとしています。domがロードされた、ビューを初期化する必要があります。

$(function(){
  var listView = new ListView();
});
于 2012-05-18T20:35:05.333 に答える
0

jQuery では、Data API を使用してイベントと割り当てられた関数を表示できるはずです。

$('#add').data('events')
于 2012-05-18T19:48:43.443 に答える