标签:backbone-views backbone-events javascript jquery backbone-js
我想通过keydown验证用户输入.为此,我需要一个keydown事件.
不幸的是,我只发现了自定义模型事件:
initalize: function(){
this.model = new ModelClass();
this.model.bind("keydown", this.validate, this);
}
这种方法对于模型事件肯定是好的,但我不相信这是视图,ui相关的东西的正确方法……
为了给您一个更好的解释,这就是我想要使用我的活动:
var SomeView;
SomeView = Backbone.View.extend({
events: {
"keydown input#some-field": "validate" // custom event
, "change input#some-field": "doSomethingElse" // predefined backbone event
},
validate: function(attr){
// validation
}
});
那么创建可在View中调用的自定义Backbone事件的方法是什么?
解决方法:
什么是创建可在View中调用的自定义Backbone事件的方法?
我觉得好像你的问题不是问题,因为backbone.view默认一直支持这些事件.
你可以像你想要的那样编写代码:
//This is the right thing to do
SomeView = Backbone.View.extend({
events: {
"keydown input#some-field": "validate" // custom event
, "change input#some-field": "doSomethingElse" // predefined backbone event
},
validate: function(attr){
// validation
}
});
参考这里:
http://backbonejs.org/docs/todos.html#section-22
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~
编辑:
你可以在这里看到:
http://backbonejs.org/docs/backbone.html#section-156
最关键的句子是:
this.$el.delegate(selector, eventName, method);
因为backbone的事件是jquery的委托(http://api.jquery.com/delegate/),所以jQuery的委托支持事件,骨干是可用的.
标签:backbone-views,backbone-events,javascript,jquery,backbone-js 来源: https://codeday.me/bug/20190902/1787392.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。