我是backbone的新手,正在尝试click事件的示例。我已经在我的视图中定义了事件。此外,还添加了函数定义。但是click事件并没有调用我的函数。请建议在以下代码中进行更改。
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title></title>
<link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css">
</head>
<body>
<script src="//cdnjs.cloudflare.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/underscore.js/1.5.2/underscore-min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/backbone.js/1.0.0/backbone-min.js"></script>
<div class="fileuploadView">
<input type="file" id="file" name="file">
<button id="submitFile" type="button" class="btn" name="submitFile"> Submit </button>
</div>
<script>
var File = Backbone.Model.extend ({
defaults: {
name : "",
location:""
}
});
var FileView = Backbone.Model.extend ({
initialize : function () {
alert('FileView initialized');
},
events : {
"click .submitFile": "onSubmitFile"
},
onSubmitFile : function(event)
{
alert('backbone click event');
console.log('backbone click event -on console');
}
});
var fileView = new FileView ({el : $('#fileuploadView')});
</script>
</body>
</html>发布于 2014-08-12 01:42:45
我猜选择器有问题。你的事件绑定说
events : {
"click .submitFile": "onSubmitFile"
},但是submitFile实际上是id。因此,将其更改为
events : {
"click #submitFile": "onSubmitFile"
},另外,FileView应该扩展Backbone.View,而不是Backbone.Model
发布于 2014-08-12 02:01:19
您正在使用backbone模型而不是视图,请使用‘’表示类,或'#‘表示id。
试着这样做。
//View instead of model
var FileView = Backbone.View.extend ({
initialize : function () {
alert('FileView initialized');
},
events : {
"click .submitFile": "onSubmitFile"
},
onSubmitFile : function(event)
{
alert('backbone click event');
console.log('backbone click event -on console');
}
});
var fileView = new FileView ({el : $('#fileuploadView')});https://stackoverflow.com/questions/25249117
复制相似问题