1

Backbone.js アプリの開発中に、ビューにボイラープレート コードが多数あることに気付きました。そのため、Model Binder ライブラリを検索することにしました。

最良の選択肢は次のようです: Backbone.ModelBinder

...しかし、問題は、コンテンツ編集可能な入力に対して、デフォルトの「blur」イベントから「keyup」イベントに切り替えることができないことです。

ライブラリのソース コードを変更しようとしましたが、コンテンツ編集可能フィールドの「blur」から「keyup」への 2 つの変更が無視され、「blur」イベントにフォールバックします。

誰かが同様の問題を経験したことがありますか、それともおそらくこれで私を助けることができますか?

どうもありがとう。

4

1 に答える 1

2

ソースコードのどこを変更しましたか?

このコミットに見られるように2行を編集しようとしましたが、うまくいきます...

    _bindViewToModel:function () {
        $(this._rootEl).delegate('', 'change keyup', this._onElChanged);
        // The change event doesn't work properly for contenteditable elements - but blur does
        $(this._rootEl).delegate('[contenteditable]', 'blur keyup', this._onElChanged);
    },

    _unbindViewToModel: function(){
        if(this._rootEl){
            $(this._rootEl).undelegate('', 'change keyup', this._onElChanged);
            $(this._rootEl).undelegate('[contenteditable]', 'blur keyup', this._onElChanged);
        }
    },
于 2012-08-24T17:14:31.533 に答える