我想知道是否有辦法獲取keydown或keypress事件上的當前值。爲了更好地定義「當前值」,我的意思是,由此得到textarea的值,包括「剛剛插入的」字符。默認情況下,這些事件的值不會改變。如果這是不可能的,我想知道是否有一個跨瀏覽器的方式來獲得剛剛插入我按的鍵的值(我不需要鍵碼,因爲例如,這沒有定義,假設如果輸入的字符是大寫或小寫,我輸入一個字符)。在keypress或keydown上獲取插入的字符<textarea>
2
A
回答
0
您必須等待keyup事件在實際值更改之前觸發。否則,對於keydown或keypress,你必須映射事件上的字符代碼(除非你使用一些JS庫,比如標準化的jQuery),並確定遊標位置並修改值辦法。這可能會有點棘手,尤其是在瀏覽器支持方面,除非您使用JS庫來執行此操作。
0
我寫了一個模塊,它分別將keypress
,和keyup
事件轉換爲字符和鍵。 https://github.com/fresheneesz/keysight
實施例:
textarea.addEventListener("keydown", function(event) {
var character = keysight(event).char
if(character === 'w') {
console.log("got lower case w")
} else if(character === 'W') {
console.log("got upper case w")
}
})
相關問題
- 1. jQuery .keypress&.keydown。which
- 2. OnKeyDown或KeyPress,檢測插入的字符的位置
- 3. 在keydown/keypress後得到輸入值
- 4. 在jqGrid中獲取KeyPress/KeyDown的列名/索引
- 5. JQuery Keydown,Keypress,Keycode等
- 6. KeyPress和KeyDown事件
- 7. KeyDown/KeyPress和索引
- 8. 獲取keydown上的字母數字字符javascript
- 9. jQuery - keydown/keypress/keyup ENTERKEY檢測?
- 10. 如何使用casperjs用keydown/keyup/keypress填充輸入字段?
- 11. 在C#中處理KeyDown和KeyPress事件#
- 12. 如何在asp.net中處理KeyPress或KeyDown事件?
- 13. 插入<SPLIT>在每個「」之前的字符串或160個字符
- 14. Keypress和Keydown生成不同的行爲
- 15. jQuery通過keydown在輸入字段中獲取類的索引
- 16. WatiN KeyPress和keyDown事件在SelectList上沒有做任何事
- 17. 在插入或更新時獲取完整的MySQL查詢字符串
- 18. keydown上的Angular JS獲取值
- 19. jquery keypress,keyup和keydown實時驗證
- 20. Excel加載項KeyPress/KeyDown實現(Visual Basic)
- 21. jQuery keypress/keydown無法正常工作
- 22. 字符串插入列表<int>
- 23. 獲取Win32Exception插入的命令或URL
- 24. 在KeyDown上捕獲keys.TAB
- 25. 獲取PDF留在嵌入式<object>或<iframe>
- 26. 在Angularjs中獲取ng-keypress上的文本框的值
- 27. 如何在keydown或keypress事件後禁用listbox的滾動事件?
- 28. 獲取插入或更新到表中的數字
- 29. keydown上不同的正常字符和半角字符
- 30. 爲什麼KeyPress的消息框在KeyDown之前顯示?
是。我知道。實際上這就是爲什麼我問了一個跨瀏覽器的方式來做到這一點,因爲並非所有的瀏覽器都在keydown或keypress上捕獲字符。 – Paris 2011-03-29 09:58:31