Javascript jQuery:移动设备的keyup事件
我在iPhone上启动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
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(){
}
在基于键盘的设备上,此函数被调用两次,因为将触发事件keyup和input
正确答案应该是:
test.on('keyup touchend', function(){
}
(对于台式机/笔记本电脑,此功能在键控上调用;对于手机,此功能在触摸端上调用)
或者你可以简单地使用
test.on('input', function(){
}
但是请记住,并非所有按键都会触发输入事件(CTRL、ALT和co.不会触发该事件)。您应该添加输入事件。它适用于移动设备和计算机设备 最好在您的回复中添加更多信息。查看并尝试更新您的答案