Javascript:如何检查按钮的单击功能是否已分配

时间:2012-05-18 19:37:31

标签: javascript backbone.js onclick

我知道这个问题已被提出,但与该问题不同。我试图用 Javascript 来解决它。

问题与我的 backbone.js 应用程序有关,我将其归结为最简单的形式,但却无法使 events 工作。任何建议都将非常感谢。

我的代码:

<!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>

2 个答案:

答案 0 :(得分:1)

你在做什么没有错。 您正试图在正文(或dom)存在之前初始化视图。 您应该在加载之后初始化视图

$(function(){
  var listView = new ListView();
});

答案 1 :(得分:0)

使用jQuery,您应该能够使用Data API查看事件和分配的函数:

$('#add').data('events')