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 回答