javascript - 如何让 JavaScript 阻止文本框内的 'space key'

标签 javascript passwords onkeypress

首先,我已经试过了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 事件处理程序在用户每次在文本字段中输入字符时执行。

输入的字符键码根据环境(浏览器)存储在事件的keyCodewhich参数中。

如果字符代码等于 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/

相关文章:

php - 如果用户输入错误,如何防止用户登录

javascript - 本地js文件不起作用

javascript - 使用正则表达式强调字符串中的多个关键字并替换

iOS : how to launch app automatically

javascript - 按键时的 Indesign 脚本 (javascript)

android - 如何在显示菜单时拦截按键事件

javascript - 空格键 keyCode(32) 在 Mozilla Firefox 上不工作

javascript - 使用单选按钮控制 Google Geocharts

javascript - 一分钟内执行 x 次 (BPM)

sql-server-2005 - [Sql-Server]密码salt和hash值使用什么数据类型,长度是多少?