[英]Getting the value of a textfield
我正在使用文本字段,我希望記錄更改。 我注意到change
只跟蹤你提交的時間,因此我使用的是keyup,但這有點像hacky,因為如果有人使用鼠標復制並粘貼到文本字段中,它就無法檢測到它。 是否有更嚴格的方法來觀察文本字段中的更改?
var textField = document.getElementById('message-input');
Rx.Observable.fromEvent(textField, 'keyup')
.subscribe(_ => console.log(textField.value));
對於Rx來說,這確實不是一個問題,它更像是一般的DOM問題。 但是,從Rx的角度來看,無論您最終使用什么事件,您都可以合並您感興趣的所有事件,並使用distinctUntilChanged()
來確保您不會以重復事件結束。
var keyup = Rx.Observable.fromEvent(textField, 'keyup', e => e.target.value);
var focus = Rx.Observable.fromEvent(textField, 'focus', e => e.target.value);
Rx.Observable.merge(keyup, focus)
.distinctUntilChanged()
.subscribe(x => console.log(x));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.