每當輸入控件中的文本發生變化時,我都需要立即更新一些內容。但我似乎無法爲此找到正確的事件。什麼是正確的JavaScript事件的文本輸入控件中的任何文本更改?
onchange僅當您離開輸入框時(即標籤離開或外部點擊)纔會觸發。
onkeypress事件火災之前做出更改,並觸發對任何按鍵(如也光標離開&不會引起任何文本更改右)
- 的onkeydown還火的onkeyup上任何鍵(甚至像移等,不會引起任何文本變更)
而且,這些都不似乎火的時候,右擊+粘貼從用鼠標剪貼板。或者當從JS內部改變值時(即,在其他地方做input.value = something)。
小例子:http://jsfiddle.net/nggAm/
我該怎麼辦?我想我可以解決這個問題的一種方式(主要是)將所有事件設置爲一個通用事件處理程序,將值緩存到那裏,並且只在字符串更改時進行實際更新。但這感覺有點蹩腳。什麼是正確的這樣做?
不幸的是,[突變事件(https://developer.mozilla.org/en/DOM/Mutation_events)既不是跨瀏覽器也不推薦。 – 2012-04-25 06:53:06