如何更快地在PhoneGap中输入/选择焦点?

时间:2012-09-30 15:24:52

标签: performance cordova jqmobi

单击输入元素(文本,texarea,选择等)在PhoneGap中有明显的延迟...有什么方法可以克服这个问题吗?

据我所知,当用户触摸屏幕时可能会拖动/滚动,这就是延迟的原因,我已经能够通过使用onTouchStart事件代替onClick来解决这个问题,但我不知道如何将相同的东西应用于其他输入。

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

看起来好像你不能在输入元素上调用.focus()或在select元素上调用.click(),这就是我尝试点击这样的onTouchStart事件:

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

真的很感激任何帮助!!


迟钝是在设备上,而不是在浏览器中。我们目前的目标是iOS,我经历过iPhone 4,4s,iPad 2和新iPad的低迷。

2 个答案:

答案 0 :(得分:0)

如果你正在使用jqMobi的jqUi那么那应该已经解决了。

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

答案 1 :(得分:0)

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

[1] href = "<a class='applymenutouch' data-ele='" + i + "' >";
[2] $('.applymenutouch').on('touchstart', function () { alert(render_submenu_link($(this).attr('data-ele'))); })