首先,我已经试过了this solution它对我不起作用,除非我将脚本放在 HTML 页面中(我没有这样做,因为我有一个包含所有脚本的页面)。另一个可行但我不明白的解决方案是:
<input type="password" id="pwd" required pattern=".{8,16}" title="8 characters minimun, 16 characters maximum" name="fpwd" placeholder="Password" size = "13" onkeypress="return (event.keyCode != 32&&event.which!=32)>
那么,问题是:为什么第一个解决方案只有在脚本位于 HTML 页面中时才有效?
最佳答案
onkeypress
事件处理程序在用户每次在文本字段中输入字符时执行。
输入的字符键码根据环境(浏览器)存储在事件的keyCode
或which
参数中。
如果字符代码等于 SPACE 的键代码 (32
),事件处理程序返回 false,这会导致浏览器关闭该事件,即阻止它向输入添加键入的字符字段。
键入此代码段以查看不同的键代码:
<input onkeypress="return console.log(event.keyCode || event.which), (event.keyCode != 32 && event.which != 32)" />
关于javascript - 如何让 JavaScript 阻止文本框内的 'space key',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40614157/