我不能让所有这些都在一起工作。我让phonegap/JQM在iOS上完美地与fastclick.js一起运行。这只是个梦。但由于某些原因,我在android上仍然得到了300ms的延迟。我放了一些警报,代码正在被调用。这真的很令人费解。我正在测试摩托罗拉的droid剃须刀maxx。
在index.html文件中:
<!DOCTYPE html>
<html>
<head>
...
<script type='application/javascript' src='js/fastclick.js'></script>
</head>
<script>
$(document).on("pagebeforechange", function (e, data) {
FastClick.attach(document.body);
alert('fastclick attached');
var to_page = data.toPage[0].id;
// skip showing #myPage if condition is true
if (to_page == "index") {
$.mobile.pageContainer.pagecontainer('change', 'event-list.html');
e.preventDefault();
}
});
</script>
<body>
<div id="index" data-role="page">
This is the index page.
</div>
</body>
</html>但它似乎不起作用。我还尝试像这样附加它:
window.addEventListener('load', function() {
new FastClick(document.body);
}, false);这两种方法都适用于iOS,但似乎对安卓没有任何影响。有什么建议吗?
编辑:似乎如果我删除JQuery库,它会工作得很好。一定会有冲突的。你知道这可能是什么吗?我使用的是JQM 1.4。
编辑:我也尝试过使用vclick,但没有效果
$("#test-element").bind('vclick',function() {
$.mobile.pageContainer.pagecontainer('change', 'description.html?lunch_pk=2133',{
transition: "slide",
});
});
...
<h1 id='test-element'> CLICK HERE FOR TEST </h1>我还使用手势来更改页面,也延迟了300ms,所以我不认为即使vclick起作用了,它也不会是一个完整的解决方案。
编辑:好的,经过一些进一步的测试,我非常确定延迟来自JQM pagechange函数内部。我在vclick里面做了一个console.log,当我点击按钮时,日志响应很快。我正在努力挖掘JQM,但并不是很成功,我的意思是为什么它在iOS上看起来很完美,而在安卓上却不起作用?也许我只需要找到一个更好的移动图书馆。
回答
我从来没有解决过这个问题。我的解决方案是换个库。我使用了英特尔的移动应用框架,它能够更成功地完成我使用JQM所做的所有事情。
发布于 2014-02-28 21:51:56
您可以尝试vclick,而无需尝试单击。这些内置的jQuery移动vclick省略了300ms的延迟。我通过这样做来做到这一点。
$("#element").bind('vclick',function(event) {
yourFunction(this.id);
event.preventDefault();// this prevents the default click event
});发布于 2014-02-28 16:57:43
您尝试过打开jQueryMobile库文件吗?有一些函数,如:
setTimeout(function() {
$link.removeClass( $.mobile.activeBtnClass );
}, 300 );我确信,在这个文件中搜索"delay“或"timeout”并更改它会得到一个很好的结果。上面的行来自
.mobile.popup.handleLink = function( $link ) {
...
}发布于 2014-03-02 21:29:34
尝试在deviceready事件处理程序中注册FastClick:
document.addEventListener('deviceready', function() {
FastClick.attach(document.body);
}, false);https://stackoverflow.com/questions/21870922
复制相似问题