0

单击输入元素(文本、texarea、选择等)在 PhoneGap 中有明显的延迟......有没有办法克服这个问题?

我知道用户在触摸屏幕时可能会拖动/滚动,这就是延迟存在的原因,我已经能够通过使用 onTouchStart 事件而不是 onClick 来克服这个问题,但我不知道如何应用其他输入也一样。

我正在使用 jqMobi(一个精简的 jQuery 框架,它摇滚!)。

似乎您不能在输入元素上调用 .focus() 或在选择元素上调用 .click() ,这是我通过像这样点击 onTouchStart 事件所尝试的:

<input type="text" name="email" ontouchstart="$(this).focus();" />
<select name="country" ontouchstart="$(this).click();">...</select>

任何帮助将不胜感激!


迟缓是在设备上,而不是在浏览器上。我们目前的目标是 iOS,我在 iPhone 4、4s、iPad 2 和新 iPad 上体验过迟缓。

4

2 回答 2

0

如果您使用的是 jqMobi 的 jqUi,那么应该已经解决了。

否则,您可以激活 $.ui.touchLayer 插件,该插件应该可以解决该问题以及其他跨浏览器和触摸相关问题。

于 2012-10-04T16:41:36.820 回答
0

如何应用触摸事件而不是单击。当您将 html 动态绑定到 dom 时。

[1] href = "<a class='applymenutouch' data-ele='" + i + "' >";
[2] $('.applymenutouch').on('touchstart', function () { alert(render_submenu_link($(this).attr('data-ele'))); })
于 2013-09-21T08:00:51.937 回答