gpt4 book ai didi

javascript - jquery mobile - 移动设备上的 keyup keydown

转载 作者:太空宇宙 更新时间:2023-11-03 10:21:12 25 4
gpt4 key购买 nike

我需要一个输入 (type='text') 来将结果发送到我的服务器以检查用户键入的内容的可用性。

我使用委托(delegate)将事件处理程序添加到元素:

$(document).delegate('#signup', 'pageshow', function() {
var keydown = function(e) {
e = e || window.event;
var char = e.which || e.keyCode;
if (char == 8) {
$(".pagemessage").text("Pressed: '<BACKSPACE>'");
appcheckDomainOnKeyDown();
}
return true;
};

var keyup = function(e) {
e = e || window.event;
var char = e.which || e.keyCode;
if (char == 8) {
appcheckDomainOnKeyUp();
}
return true;
};

var keypress = function(e) {
e = e || window.event;
var char = e.which || e.keyCode;
var str = String.fromCharCode(char);
$(".pagemessage").text("Pressed: '" + str +"'");
if (/[a-zA-Z0-9-\._]/.test(str) || char == 8 || char == 9) {
appcheckDomainOnKeyDown();
appcheckDomainOnKeyUp();
return true;
}
return false;
};

关键处理程序在我的桌面上工作得很好,但在移动设备上却不行。希望您能看到我正在尝试允许某些字符进入框中(并使用退格键删除字符。

从我看不到 pagemessage 元素更新的事实来看,'keypress' 似乎没有被困住。我尝试在 keyup/keydown 中处理这个问题,但我不确定如何应用 shiftKey 位来按下实际字符 - 例如按 + 5 会给出 '%' 但是在 keydown 中它返回 shiftKey 和 5.

我阅读了文档,发现最接近“按键”的事件是“点击”事件,但这也不起作用。

我已经尝试按照此处的一篇文章中的建议捕获“按键”事件,在桌面上这不会捕获退格键,并且在移动设备上根本不执行任何操作。

然后我按照另一篇文章中的建议尝试了这个:

    var inputEV = 'oninput' in window ? 'input' : 'keyup';
$("#new_domain").off(inputEV);
$("#new_domain").on(inputEV, function (e) {
keydown(e);
keyup(e);
});

并且它在桌面浏览器或移动设备中均不起作用。

然后我尝试将输入类型更改为“搜索”,我得到了一个很好的增强,即按键确实添加了一个清除按钮......但在移动设备上对我自己的功能没有任何作用。

我想我已经没有什么可以尝试的了,唯一剩下的就是添加一个按钮去检查 - 没有人想要那个:)

有人知道我怎样才能做我需要的吗?

如果相关,我在我的桌面和安卓设备(HTC one 和 Nexus 5)上使用 chrome

最佳答案

Keyup 应该可以工作。它在这个例子中有效:http://jsbin.com/aNEBIKA/2/ .该测试在我的 Galaxy S3 上找到。每次按键都会使用输入的文本更新页脚 h3 元素。

会不会是你在错误的时间绑定(bind)了你的听众?文档确实建议像这样绑定(bind):

$(document).bind('pageinit')

http://demos.jquerymobile.com/1.2.0/docs/api/events.html

关于javascript - jquery mobile - 移动设备上的 keyup keydown,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21113050/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com