Javascript .`keypress` 事件未在移动设备上触发

Edd*_*die 7 javascript mobile onkeypress

在本页面:

https://subnetipv4.com/

如果单击“IP 地址”栏中的任意输入框,然后按“.” 或“/”键(句号或斜杠),它会将您跳到下一个输入框。

或者至少,它在桌面浏览器上是这样的。在移动浏览器上,它似乎没有注册该onkeypress事件。

这是启用句点或斜杠按下“跳转”的代码:

        // Function to jump to next box on . or / keys
        function jumpdot(event) {
            // Capture pressed key:
            var y = event.key;

            if (y == "." || y == "/" ) {
                // . or / was pressed, jump to next userinput box and prevent typing of . or /
                event.preventDefault();
                document.getElementsByName(uiNext)[0].focus();
            }
        }
Run Code Online (Sandbox Code Playgroud)

有没有一种简单的方法可以在手机上启用该功能?

编辑:更新了网站网址

col*_*lxi 9

该事件在 DOM-Level-3 标准中keypress被标记为Legacy 。

警告。本规范中定义按键事件类型是为了参考和完整性,但本规范不赞成使用此事件类型。

keydown改用事件。信息:Mozilla Developer 中的 Keydown 事件

您还应该考虑...

KeyboardEvent.which :警告:此属性已弃用;如果可用的话,您应该使用 KeyboardEvent.key 代替。

KeyboardEvent.keyCode :警告:此属性已弃用;如果可用的话,您应该使用 KeyboardEvent.key 代替。

要读取按下的 Key ,请使用event.key