我正在使用GWT来监控TextArea的更改。当用户输入时,我会捕获KeyPressEvents并相应地更新我的逻辑。
但是,当用户使用鼠标更改TextArea的值(例如剪切和粘贴或拖动)时,我没有得到KeyPressEvents(当然)。我还是想立即更新。我尝试过ChangeEvents,但似乎只有在TextArea失去焦点时它们才会被解雇。
我可以监听所有ClickEvents,但有没有更合理的机制可以在textarea中的文本因任何原因发生变化后立即提醒我的代码?
答案 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();
答案 1 :(得分:0)
似乎喜欢抓住粘贴&直接削减事件是最好的方式 - 没有“彻底改变”的事件。