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

时间:2018-04-24 02:30:53

标签: javascript mobile onkeypress

在此页面上:

http://www.practicalnetworking.net/subnet.html

如果您点击" IP地址"中的任何输入框。列,然后按"。"或" /"键(句点或斜线)它会跳转到下一个输入框。

或者至少,它在桌面浏览器上运行。在移动浏览器上,它似乎没有注册onkeypress事件。

这是启用" jump"的代码。期间或斜线按下:

        // 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();
            }
        }

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

2 个答案:

答案 0 :(得分:2)

keypress事件被标记为Legacy in the DOM-Level-3 Standard

  

警告。 keypress事件类型在本规范中定义,以供参考和完整,但此规范不推荐使用此事件类型。

改为使用keydown事件。信息:Keydown Event in Mozilla Developer

您还应该考虑......

  

KeyboardEvent.which:警告:不推荐使用此属性;你应该使用KeyboardEvent.key,如果可用的话。

     

KeyboardEvent.keyCode:警告:不推荐使用此属性;你应该使用KeyboardEvent.key,如果可用的话。

要阅读按下的键,请改用event.key

答案 1 :(得分:0)

ev.keyCode会很有帮助。这提供了有关击键的更多信息。