2

私のアプリケーションでは、クラス「contentBlock」を持つテキストエリアがあります。

そして、私はバックボーンビューで次のコードを使用しています:

 'change textarea': 'updateText'       

しかし、updateText関数は起動されていません。

テキストエリアでテキストが変更されたときにイベントを発生させたい。

4

2 に答える 2

4

テキスト領域でテキストが変化するのをリッスンするには、 keyupイベント (またはその他のキー イベント) を使用する必要があります。Loamhoof の例を使用すると、次のようになります。

var View = Backbone.View.extend({
    events: {
        'keyup textarea': 'test'
    },
    test: function() {
        alert();   
    }
});

new View({el: 'div'});
于 2013-11-01T23:23:53.060 に答える
0

残念ながら、答えを提供するには要素が少なすぎるため、実際に機能する簡単な例を提供しているだけです。

var View = Backbone.View.extend({
  events: {
    'change textarea': 'test'
  },
  test: function() {
    alert();   
  }
});

new View({el: 'div'});

http://jsfiddle.net/ZSgvy/

したがって、よくある間違いに基づいて、イベントがビューの要素にバインドされていることを確認し (存在しない要素を指定した場合、または後で間違った方法で変更した場合、イベントはバインドされません)、テキストエリアが実際にビューの要素の子孫。また、あなたのやり方では、テキストエリアはビューの要素そのものであってはなりません。

于 2013-04-15T09:24:06.870 に答える