我正在为 iPad 开发一个 PhoneGap-App。在一个屏幕上,您必须填写一个包含大约 20 个文本字段的表格。由于输入字段仅对点击事件做出反应(延迟时间不长但令人讨厌),我尝试了以下操作:
$('input[type="text"], input[type=number], input[type=date], input[type="tel"], input[type=password], input[type="email"], input[type="url"], textarea, select').live("touchend", function(e) {
if(!swipe) {
$(this).focus();
}
swipe = false;
return false;
});
(我检查touchmove
事件中的滑动)
这可行,但现在我想阻止输入上的原始点击事件。问题是,当我使用该方法激活输入字段时.focus()
,键盘会弹出并将页面向上滑动一点,然后click
触发事件并激活比我想要的输入略低的另一个输入字段。
为了防止点击我已经尝试过:
$('input[type="text"], input[type=number], input[type=date], input[type="tel"], input[type=password], input[type="email"], input[type="url"], textarea, select').live("click", function(e) {
return false;
});
但这也不起作用:(
在我毫不拖延地触摸它后,是否有另一个技巧可以立即激活输入字段?