簡體   English   中英

你如何得到一個變異觀察者來檢測textarea的值變化?

[英]How do you get a mutation observer to detect a value change of a textarea?

我已經看到變異觀察者用它來修改doms的屬性,例如使用谷歌瀏覽器開發工具。 但是,當textarea因用戶輸入或粘貼而發生更改時,我無法找到如何調用函數。 在我的代碼中,當用戶鍵入時,即使將所有observe選項設置為true,也不會調用回調。 這是什么代碼?

突變觀察者監聽DOM的變化。 然而,表單元素的當前狀態不會被DOM反映出來。

例如,在不設置value屬性的情況下創建輸入元素輸入 當文本輸入到輸入字段時, input.value會反映此文本。 另一方面, input.getAttribute('value')仍然返回null

因此,變異觀察者無法在形式字段的狀態中觀察到這種變化。

(提議的ECMAScript第6版的Object.observe也沒有幫助。雖然可以在最近版本的Chrome中監聽主機對象的更改,但是沒有觀察到主機對象屬性的更改,例如上面輸入的 。)

查看此鏈接Textarea onchange detection 您需要編寫onkeyup和onchange函數。

順便說一句,上面的答案不適用於輸入法。 我的解決方案是setInterval來檢測文本是否每50毫秒更改一次。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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