以 Javascript 形式输入扩展拉丁字符 Alt+0256-0383

我的 Javascript 数据输入弹出窗口的用户无法输入 255 以上的扩展拉丁字符。例如,Alt+0321 是波兰语 Ł。即使在这个 StackOverflow 表单上,我也无法键入字符,但可以复制粘贴它。而 ß 可以直接键入,因为它是 Alt+0223。

有没有办法绕过这个限制?非 Javascript 工具,例如 MS Office,可以工作。我不得不建议人们在 Word 中输入数据,然后复制粘贴,这看起来不太好。Gmail 和谷歌搜索似乎同样受到限制。


慕无忌1623718
浏览 72回答 1
1回答

人到中年有点甜

经过长时间搜索没有结果,这是我的解决方案:(适用于 0-65535 | 0000-ffff)var altCapture = null;function keydown(event) {&nbsp; var keyCode = event.keyCode;&nbsp; if(keyCode == 18) altCapture = "";&nbsp; if(altCapture != null && keyCode != 18)&nbsp; &nbsp; altCapture += (keyCode - 96);}function keyup(event) {&nbsp; if(event.keyCode == 18) {&nbsp; &nbsp; event.target.value += String.fromCharCode(+altCapture);&nbsp; }}function keypress(event) {&nbsp; if(altCapture != null) {&nbsp; &nbsp; event.preventDefault();&nbsp; &nbsp; altCapture = null;&nbsp; }}<input&nbsp; onkeydown&nbsp; ="keydown (event)"&nbsp; onkeyup&nbsp; &nbsp; ="keyup&nbsp; &nbsp;(event)"&nbsp; onkeypress ="keypress(event)"><input&nbsp; onkeydown&nbsp; ="keydown (event)"&nbsp; onkeyup&nbsp; &nbsp; ="keyup&nbsp; &nbsp;(event)"&nbsp; onkeypress ="keypress(event)">在所有按键按下后执行按键。按下 18 (alt),通过将 altCapture 从 null 设置为 "" 开始捕获。按下而不是 18 并捕获,将数字附加到 altCapture。(默认情况下,不按下 18 且不捕获。)向上键 18,从代码 altCapture 追加字符(+ 将字符串转换为数字)。(按键不是 18,默认值。)按键和捕获,防止默认值并将 altCapture 重置为 null。(按键而不捕获,默认。)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript