2013-04-15 4 views
2

내 응용 프로그램에 "contentBlock"클래스가있는 텍스트 영역이 있습니다.Backbone.js의 Textarea 이벤트

그리고 난 백본보기에서 코드를 다음을 위해 사용하고 있습니다 :

'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

키 업 이벤트 (또는 다른 키 이벤트)를 사용하여 텍스트 영역에서 변경되는 텍스트를 수신 대기해야합니다. Loamhoof의 예를 사용 : 하나의 키보드와 상호 작용하는 경우

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

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

은'keyup' 이벤트 만 발생합니다. 사람이 들어 오면 작동하지 않습니다. OSX에서 CTRL + CMD + SPACE 키 조합을 사용하는 그림 이모티콘! – Sgoettschkes

+0

알아두면 좋습니다! – CBP