需要在 Phonegap 应用程序中使用 onClick attr 加速链接。
我想使用我在这里找到的快速按钮插件: https ://developers.google.com/mobile/articles/fast_buttons
但我不知道,如何正确使用这个插件我应该在 pageinit 之后添加它还是在哪里添加?
也许这是一个很愚蠢的问题,但如果我试图找到一些例子,没有运气。
你可以添加一些人在这里添加一些例子,如何解决这个问题?
非常感谢。
需要在 Phonegap 应用程序中使用 onClick attr 加速链接。
我想使用我在这里找到的快速按钮插件: https ://developers.google.com/mobile/articles/fast_buttons
但我不知道,如何正确使用这个插件我应该在 pageinit 之后添加它还是在哪里添加?
也许这是一个很愚蠢的问题,但如果我试图找到一些例子,没有运气。
你可以添加一些人在这里添加一些例子,如何解决这个问题?
非常感谢。
如果您知道用户不会滚动,则 (or ) 事件非常有用touchstart
。touchend
这实际上是click
事件在移动设备上需要很长时间才能解决的原因,设备正在等待查看用户是否在滚动或单击。
这将执行得非常快,因为调度此事件没有延迟:
$('#myButton').on('touchstart', function () {
//run click code now
});
您还可以使用 jQuery Mobile 的vclick
事件来尝试使用本机触摸事件,但它的主要问题是您可以使用调度多个事件,vclick
因此您应该设置超时以一次只允许单击一次,例如:
var clickOk = true;
$('#myButton').on('vclick', function () {
if (clickOk === true) {
clickOk = false;
setTimeout(function () {
clickOk = true;
}, 350);
//run click code now
}
return false;
});
这将允许事件处理程序每 350 毫秒仅运行一次,这将处理正在调度的多个事件,因为第二个事件将被忽略。
我会将这些事件处理程序设置在一个委托事件处理程序中,该事件处理程序在伪页面被初始化时运行:
$(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
});
快速点击呢?
FastClick 是一个简单易用的库,用于消除移动浏览器上物理点击和点击事件触发之间的 300 毫秒延迟。目的是让您的应用程序感觉更少滞后和更灵敏,同时避免对您当前逻辑的任何干扰。
Jiri 如果还不算太晚,我必须为我的应用程序做同样的事情,并且需要将参数传递给函数。我通过将参数放在按钮的 id 中(用下划线分隔)并使用这个函数从每个单击的按钮中获取 id,类名为“clickbutton”,并将其拆分为单独的参数。
$('.clickbutton').live('click', function(event) {
event.preventDefault();
var id = $(this).attr('id');
var parts = $(this).attr('id').split("_");
var item = parts[0];
var button = parts[1];
var type = parts[2];
console.log(item+button+type);
getItemCondition(item,type);
return false;
});
尽管如此,JQM 点击事件仍然存在无响应问题!