javascript - 如何正确使用jquerymobile和phonegap中的快速按钮?

标签 javascript android iphone jquery-mobile cordova

需要在 Phonegap 应用程序中使用 onClick attr 加速链接。

我想使用我在这里找到的快速按钮插件: https://developers.google.com/mobile/articles/fast_buttons

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

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

您可以添加一些人,在这里添加一些示例,如何解决这个问题吗?

非常感谢。

最佳答案

如果您知道用户不会滚动,则 touchstart(或 touchend)事件效果很好。这实际上就是移动设备上的点击事件需要很长时间才能解析的原因,设备正在等待查看用户是否在滚动或点击。

这将执行得非常快,因为分派(dispatch)此事件没有延迟:

$('#myButton').on('touchstart', function () {
    //run click code now
});

您还可以使用 jQuery Mobile 的 vclick 事件,该事件尝试使用 native 触摸事件,但主要问题是您可以使用 vclick 分派(dispatch)多个事件,因此您应该设置一次只允许一次点击的超时,例如:

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

这将允许事件处理程序每​​ 350 毫秒仅运行一次,这将处理正在分派(dispatch)的多个事件,因为第二个事件将被忽略。

我将在委托(delegate)事件处理程序中设置这些事件处理程序,该事件处理程序在伪页面初始化时运行:

$(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
});

关于javascript - 如何正确使用jquerymobile和phonegap中的快速按钮?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12061061/

相关文章:

java - Android 应用程序请求 WCF 服务(SerializationException - utf-8 相关)

java - 使用php将base64图像从android上传到服务器时出错

iphone - 同一个委托(delegate)上的多个 UIActionSheets

javascript - 变异观察者: How To Get Current Data From Mutation Record?

javascript - JSEncrypt 每次为相同的消息和公钥生成不同的输出

android - 程序类型已经存在 : android. support.v7.appcompat.R

ios - NSURLSession block 中的方法延迟

iphone - ios:如何使用人的手机号码从通讯录中获取缩略图?

javascript - 赠品功能

javascript - 当有人点击 facebook like 按钮后,如何关闭 Bootstrap 模式?