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/

所以,基于常见的错误:确保你的事件绑定到你的视图元素(如果你指定一个不存在的元素或者你之后以错误的方式更改它,它们不会),并确保你的 textarea 实际上是您的视图元素的后代。此外,按照您的方式,textarea 不能是视图的元素本身。

于 2013-04-15T09:24:06.870 回答