2010-12-07 11 views
1

GWT를 사용하여 TextArea의 변경 사항을 모니터링하고 있습니다. 사용자가 입력 할 때 KeyPressEvents를 잡아 내 논리를 적절하게 업데이트합니다.어떻게 onChangeEvent_sooner_를 얻을 수 있습니까?

그러나 사용자가 마우스를 사용하여 TextArea 값을 변경하면 (예 : & 붙여 넣기 또는 드래그 잘라 내기) KeyPressEvents가 표시되지 않습니다. 나는 아직도 즉시 업데이트하고 싶다. 나는 ChangeEvents를 시도했지만 TextArea가 포커스를 잃었을 때만 나중에 발생하는 것으로 보입니다.

모든 ClickEvents를 수신 할 수 있지만 텍스트 영역의 텍스트가 어떤 이유로 변경된 직후 내 코드에 경고하는 더 논리적 메커니즘이 있습니까?

+2

그렇지 않습니다. http://stackoverflow.com/questions/3184648/instant-value-change-handler-on-a-gwt-textbox/4085371#4085371은 내가 인스턴트 피드백을 얻을 필요성을 알게되었을 때 내가 한 일입니다. 귀하의 경우에도 도움이 될 수 있습니다. – z00bs

+0

"잘라 내기"및 "붙여 넣기"리스너를 사용해 보셨습니까? – Pointy

+0

마우스를 클릭 할 때 이벤트를 가져오고 싶지만 ClickEvents를 듣고 싶지는 않습니까? 나는 그것을 얻지 않는다. –

답변

0

직접 가장 좋은 방법은 붙여 넣기 & 컷 이벤트를 잡는 것 같다 - 더 "로 변경 -에 - 모든"이벤트가 없습니다.

1

당신의 setTimeout을 사용할 수

var ta = document.getElementById("yourTextarea"); 
var value = ta.value; 

function check() { 
    if (ta.value !== value) { 
     // value has changed 
     value = ta.value; 
    } 
    setTimeout(check, 100); 
} 

check(); 
관련 문제