我是第一次使用 Backbone.js,并试图了解它是如何工作的。我想制作一个搜索表单,但我卡在起点。
这是我的输入搜索框
<input type="txt" name="" class="mysearch">
当我在此搜索框中键入内容时,我想打印一些内容(在控制台上)。 但它没有按预期工作。
jQuery(document).ready(function(){
var mymodel= Backbone.Model.extend({
defaults:function(){
return{
name:''
}
}
});
var mycollection=Backbone.Collection.extend({
model:mymodel
});
var mynewcollection= new mycollection();
var myview=Backbone.View.extend({
model:mynewcollection,
el:'.mysearch',
initialize:function(){
console.log("initialize");
},
events:{
'keypress .mysearch':'search'
},
search:function(){
console.log("at search");
}
});
new myview;
console.log("starting");
});
我不知道我错过了什么。任何帮助将不胜感激,并对愚蠢的问题表示歉意。
最佳答案
您通过 el:'.mysearch'
将 View 的上下文设置为 .mysearch
,同时尝试监听 发出的事件 View 范围下的 .mysearch
元素。您基本上是在尝试监听 .mysearch .mysearch
元素,但这显然在您的设置中不起作用。
尝试
var myview=Backbone.View.extend({
el:'.mysearch',
initialize:function(){
console.log("initialize");
},
events:{
'keypress':'search'
},
search:function(){
console.log("at search");
}
});
关于jquery - 如何使用backbone.js制作搜索表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43977339/