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