如何正确使用jquerymobile和phonegap中的快捷按钮?

red*_*rom 0 javascript iphone android jquery-mobile cordova

需要使用Phonegap应用中的onClick attr加速链接.

我想使用Fast buttons插件,我在这里找到:https: //developers.google.com/mobile/articles/fast_buttons

但我不知道,如何正确使用这个插件我应该在pageinit后添加这个或在哪里?

也许这是一个非常愚蠢的问题,但如果我试图找到一些例子,没有运气.

你可以添加一些添加放在这里的例子,如何解决这个问题?

非常感谢.

Jas*_*per 5

touchstart(或touchend如果您知道用户不会滚动)事件的伟大工程.这实际上是click事件在移动设备上需要很长时间才能解决的原因,设备正在等待用户是否正在滚动或点击.

由于没有延迟分派此事件,因此执行速度非常快:

$('#myButton').on('touchstart', function () {
    //run click code now
});
Run Code Online (Sandbox Code Playgroud)

您还可以使用vclick尝试使用本机触摸事件的jQuery Mobile 事件,但它的主要问题是您可以使用调度多个事件,vclick因此您应该设置超时,以便一次只允许一次点击,例如:

var clickOk = true;
$('#myButton').on('vclick', function () {
    if (clickOk === true) {
        clickOk = false;
        setTimeout(function () {
            clickOk = true;
        }, 350);
        //run click code now
    }
    return false;
});
Run Code Online (Sandbox Code Playgroud)

这将允许事件处理程序每​​350ms只运行一次,这将处理被调度的多个事件,因为将忽略第二个事件.

我会在一个委托的事件处理程序中设置这些事件处理程序,该处理程序在伪页面初始化时运行:

$(document).on('pageinit', '.ui-page', function () {
    //bind "fast-click" event handlers now, use "$(this).find(...)" to only bind to elements of the current pseudo-page
});
Run Code Online (Sandbox Code Playgroud)