Пользовательские события backbone.modelbinder

Я пытаюсь определить, могу ли я использовать ModelBinder в проекте, над которым я работаю, но мне нужно иметь возможность запустить стороннюю процедуру проверки перед обновлением модели. Я попытался настроить скрипку для проверки параметров конфигурации, упомянутых в конце документации, но, похоже, не могу заставить ее работать.

В следующей скрипте (в основном украденной из примеров) я попытался установить событие 'focus' для запуска обновления, но оно не работает. Может ли кто-нибудь помочь мне понять, почему?

http://jsfiddle.net/B9DSr/8/

Код:

HTML:

<div id="testarea">
<br>
Model data: <div id="modelData"></div>

<hr><br>
<div id="viewContent"></div>
</div>

JS:

$().ready(function () {

Backbone.ModelBinder.SetOptions = ({
    changeTriggers : {'': 'focus'}
});  

model = new Backbone.Model();
model.set({firstName: 'Bob'});
model.bind('change', function () {
  $('#modelData').html(JSON.stringify(model.toJSON()));
});

ViewClass = Backbone.View.extend({
    _modelBinder: undefined,
    initialize:function () {
        this._modelBinder = new Backbone.ModelBinder(); 
        //console.log( this._modelBinder);
    },
    close: function(){
        this._modelBinder.unbind();
    },
    render:function () {
        var html = '\
\
<div id="welcome"> Welcome, <span name="firstName"></span> <span name="lastName">       </span>\
<br><br>\
Edit your information:\
<input type="text" name="firstName"/>\
<input type="text" name="lastName"/></div>\
\
';
        //console.log(this.$el);
        this.$el.html(html);
        this._modelBinder.bind(model, this.el);
        return this;
    }
});

view = new ViewClass();
$('#viewContent').append(view.render().$el);
});

Предполагая, что там есть очевидная ошибка кодера (меня), кто-нибудь знает, возможно ли определить пользовательское событие / обработчик для ModelBinder, что позволило бы мне проверить ввод перед передачей его в ModelBinder для обработки обратно в модель?

Большое спасибо!

Трав

0 ответов

Другие вопросы по тегам