我知道这个问题已被提出,但与该问题不同。我试图用 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>
答案 0 :(得分:1)
你在做什么没有错。
您正试图在正文(或dom)存在之前初始化视图。
您应该在
$(function(){
var listView = new ListView();
});
答案 1 :(得分:0)
使用jQuery,您应该能够使用Data API查看事件和分配的函数:
$('#add').data('events')