Javascript jQuery:移动设备的keyup事件

Javascript jQuery:移动设备的keyup事件,javascript,jquery,mobile,click,keyup,Javascript,Jquery,Mobile,Click,Keyup,我在iPhone上启动keyup事件时遇到了一些问题,我的代码如下: var passwordArray = ["word", "test", "hello", "another", "here"]; var test = document.getElementById('enter-password'); test.addEventListener('keyup', function(e) { if (jQuery.i

我在iPhone上启动keyup事件时遇到了一些问题,我的代码如下:

        var passwordArray = ["word", "test", "hello", "another", "here"];

        var test = document.getElementById('enter-password');
        test.addEventListener('keyup', function(e) {

            if (jQuery.inArray(this.value, passwordArray) != -1) {
                alert("THIS IS WORKING");
            } else {}

        });

其想法是,当用户在
#输入密码
字段中键入时,当他们匹配了
密码数组中的一个单词时,警报将触发。这在桌面上起作用,例如,一旦您输入
word
,一旦您输入
d
,该功能将立即启动。还有什么方法可以让它在移动设备上工作吗?

当从设备上删除触摸点时,触发touchend事件

您可以将keyup和touchend事件传递到.on()jQuery方法(而不是keyup()方法)中,以触发这两个事件的代码

test.on('keyup touchend', function(){
//code
});

您可以添加输入事件。它是一个在输入更改时触发的事件。输入在台式机和手机上都有效

test.on('keyup input', function(){
  //code
});

您可以查看此答案,以了解有关

的更多详细信息。您可以使用三个事件(但必须注意如何“组合”它们):

  • keyup:它在带有键盘的设备上工作,当您释放一个键(任何键,甚至是在屏幕上不显示任何内容的键,如ALT或CTRL键)时会触发它

  • touchend:它在触摸屏设备上工作,当您将手指/笔从显示器上取下时触发

  • 输入:当您按下一个键“且输入发生变化”(如果您按下ALT或CTRL等键,则不会触发此事件)时,会触发该事件

输入事件适用于键盘设备和触摸屏设备,必须指出这一点,因为在公认的答案中,示例是正确的,但近似:

test.on('keyup input', function(){
}
基于键盘的设备上,此函数被调用两次,因为将触发事件keyupinput

正确答案应该是:

test.on('keyup touchend', function(){
}
(对于台式机/笔记本电脑,此功能在键控上调用;对于手机,此功能在触摸端上调用)

或者你可以简单地使用

test.on('input', function(){
}

但是请记住,并非所有按键都会触发输入事件(CTRL、ALT和co.不会触发该事件)。

您应该添加输入事件。它适用于移动设备和计算机设备

最好在您的回复中添加更多信息。查看并尝试更新您的答案