2013-04-15 55 views
2

在我的應用程序中,有一些類爲「contentBlock」的textarea。Backbone.js中的Textarea事件

,我使用的骨幹視圖下面的代碼:

'change textarea': 'updateText'  

但UPDATETEXT功能沒有被解僱。

我想在任何文本在textarea中發生更改時觸發事件。

回答

0

所以......可悲的是,因爲我們有太多幾個要素提供任何答案,我只是提供你一個工作,簡單的例子:基於共同

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

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

http://jsfiddle.net/ZSgvy/

所以,錯誤:確保你的事件與你的視圖的元素有界(如果你指定了一個不存在的元素,或者你以後錯誤地改變它,他們不會),並確保你的textarea實際上是你視圖的後代元件。而且,你這樣做的方式,textarea一定不能是視圖的元素本身。

4

您應該使用鍵盤事件(或其他某些關鍵事件)來偵聽文本區域中的文本更改。使用Loamhoof的例如:

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

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

的'keyup'事件時,一個與鍵盤交互僅觸發。如果有人進入例如在OSX上使用CTRL + CMD + SPACE鍵組合顯示emoji! – Sgoettschkes

+0

這是很好的知道! – CBP