编程语言
首页 > 编程语言> > javascript – Backbone查看自定义事件

javascript – Backbone查看自定义事件

作者:互联网

我想通过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