2010-12-07 15 views
1

我正在使用GWT來監視對TextArea的更改。當用戶鍵入時,我會捕獲KeyPressEvents並相應地更新我的邏輯。如何獲取onChangeEvent _sooner_?

但是,當用戶使用鼠標來更改TextArea的值(例如剪切&粘貼或拖動)時,我沒有得到KeyPressEvents(當然)。我仍然想立即更新。我嘗試了ChangeEvents,但似乎只在TextArea失去焦點時才被解僱。

我可以聽所有的ClickEvents,但是有沒有更合乎邏輯的機制,會在textarea中的文字因爲任何原因而改變後立即提醒我的代碼?

+2

我想沒有。 http://stackoverflow.com/questions/3184648/instant-value-change-handler-on-a-gwt-textbox/4085371#4085371是我遇到需要獲得即時反饋時所做的。也許對你的情況有幫助。 – z00bs 2010-12-07 19:27:58

回答

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();