簡體   English   中英

獲取文本字段的值

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM