首页 > 解决方案 > Tab键未在移动设备中注册为keydown

问题描述

我正在创建一个具有多个输入字段的表单,当输入处于焦点时,我试图在按下Enter或键时调用一个函数。Tab我正在使用以下代码:

name_input.addEventListener("keydown", function(e){

        alert("Except Tab"); //This runs on press of any key except tab.

        if((e.key=="Enter")||(e.keyCode==9)){  //This if works fine on desktop but not in mobile.
            e.preventDefault();
            if(name_input.value.length!=0){
                hide(".js-reply-1", 2);
                document.querySelector(".c-dialogue.name").innerHTML = "Hello, " + name_input.value;
                alert("hello"); //This doesn't run on the press of "Tab" in mobile.
                intro_tl.resume();
            } 
        }
    });

桌面上的一切都按预期工作,但在移动设备上Tab,事件侦听器完全没有检测到按键,并且其中的代码无法运行。我还附上了按钮的图片,以防万一我将错误的键称为“Tab”键。

在此处输入图像描述

我尝试到处搜索,但找不到任何帮助。

任何帮助表示赞赏。

标签: javascriptandroidmobiledom-eventskeydown

解决方案


我找不到自己问题的具体答案,但一种解决方法可能是设置可见性:隐藏到所有其他输入字段,这将始终在键盘上带来输入按钮,我想我应该分享它以防有人试图实现类似的东西。


推荐阅读