[英]OnkeyUp Event on form is processing elements of only onw form even when I am using this in different forms
[英]I am using onkeyup function in javascript and If I press key then I get different ASCII value
我在 javascript 中使用 onkeyup function 並且我認為event.which
為我們提供了輸入字符的 ascii 值,但我得到了不同的輸入字符值。 我不知道為什么會這樣。 請告訴我。
<input type="text" size="40" onkeyup="myFunction(event)"> <div id="demo"><div> <script> function myFunction(event) { var x = event.which; document.getElementById("demo").innerHTML = "The Unicode value is: " + x; } </script>
如果我輸入 1,那么它顯示 91。據我說,應該是 48,因為 1 的 ASCII 值是 48
.
如圖所示,我想說的是
which
不是 Unicode 或 ASCII 字符代碼,它是鍵盤映射代碼。 which
也已被棄用,並且不如(現在也已棄用) keyCode
支持。
最接近您想要的東西(甚至現在已棄用!)是charCode
。 但這僅適用於keypress
事件,不適用於keydown
或keyup
。
這些天你現在應該使用的是key
——這是檢查按下了什么鍵的最新且不被棄用的方法。 key
的值可能是一個鍵的名稱,例如“Enter”,但如果key
是一個長度只有一個字符的字符串,那么key.charCodeAt(0)
會給你一個字符代碼。
更新:我只是仔細檢查了一些我以前不確定的東西。 Shift 鍵的效果正確地反映在您為key
獲得的值中。
你在輸入 1 時寫了 91
您的圖像顯示 44
你的想法是48
這是魔法 !!
只需將 onkeyup="myFunction(event)" 替換為 onkeypress="myFunction(event)"
你將永遠得到'49'
請參閱 HTML 中的 ASCII 值列表(數字 1 為 49) https://www.w3schools.com/charsets/ref_html_ascii.asp
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.