2013-04-15 5 views
2

В моем приложении есть некоторая текстовая область с классом contentBlock.Событие Textarea в Backbone.js

и я использую для следующего кода в целях магистральных:

'change textarea': 'updateText'  

но функция UPDATETEXT не уволит.

Я хочу запустить событие, когда текст текста изменился в текстовом поле.

ответ

0

Так что ... к сожалению, мы слишком мало элементов, чтобы обеспечить какой-либо ответ, я просто предоставить вам рабочий, простой пример:

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

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

http://jsfiddle.net/ZSgvy/

Таким образом, на основе общего ошибки: убедитесь, что ваши события ограничены элементом вашего представления (если вы укажете какой-либо элемент, который не существует или вы измените его неправильно, то он не будет) и убедитесь, что ваше текстовое поле фактически является потомком вашего представления элемент. Кроме того, как вы это делаете, текстовое поле не должно быть самим элементом представления.

4

Вы должны использовать событие keybox (или какое-либо другое ключевое событие), чтобы прослушать изменение текста в текстовой области. Используя пример Loamhoof в:

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

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

Параметр 'keyup' событие только срабатывает, когда один взаимодействует с клавиатурой. Это не работает, если вы входите, например. emoji, используя комбинацию клавиш CTRL + CMD + SPACE на OSX! – Sgoettschkes

+0

Это полезно знать! – CBP

Смежные вопросы