keydown没有在移动设备上启动Chrome

时间:2016-07-29 15:14:46

标签: javascript jquery asp.net

我有以下代码 - 由于我试图找到问题的根源,我现在收到了一些临时警报。

该功能基于Asp.Net Textbox和RequiredFieldValidator。这个想法是当'进入'按下我得到文本框的状态并做一些事情。

现在,这里有一些奇怪的东西:

如果我使用标准类型=" text"在文本框上 - 我实际上并没有添加它只是默认,它适用于所有浏览器/设备。

根据作品,我的意思是如果我没有在文本框中放置有效条目,则应显示错误。

如果我使用type =" tel"或者输入="数字",它适用于Firefox和Chrome桌面,但不适用于移动设备上的Chrome。

如果我按照以下代码添加警报,移动设备也可以。

function enterKeyPressed(e) {
        alert("function called");
        if (e.which == 13) {
            alert("enter pressed");
            var isValid = updateInputState.call(this, false);
            alert(isValid);
            if (isValid) {
                var next = findNextTabStop.call(this);
                next.focus();
            }
        }
    }

任何人都知道我可以从哪里开始?

2 个答案:

答案 0 :(得分:1)

这对我有用 - 桌面,移动和所有html5输入类型。

function enterKeyPressed(e) {
        if (e.which == "13") {
            e.preventDefault();
            // Do something
        }
    }

答案 1 :(得分:0)

尝试使用key代替which

function enterKeyPressed(e) {
  alert("function called");
      if (e.key == "Enter") {
        alert("enter pressed");
        var isValid = updateInputState.call(this, false);
        alert(isValid);
        if (isValid) {
            var next = findNextTabStop.call(this);
            next.focus();
        }
    }
}