ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

javascript – Android 4.2.2中的Jquery Mobile滑动事件无法正常工作

2019-07-09 01:35:11  阅读:278  来源: 互联网

标签:jquery javascript android jquery-mobile


我编写了一个使用JQuery移动swipeleft和swiperight事件的移动Web应用程序,但这些不适用于运行Android 4.2.2的三星Galaxy S4.在标准Web浏览器或Chrome中运行Web应用程序具有相同的问题:未检测到滑动事件.

以下是我试图检测在我测试过的其他设备上工作正常的事件,甚至是Android设备(但不是Android 4.2.2):

$('#showImage').on("swipeleft", function (event) {
if (currentScale != initialScale) return;
if (currentPage < maxPage) {
  ++currentPage;
  img.src = document.getElementById("page" + zeroPad(currentPage, 2) + "url").value;
}
});

$('#showImage').on("swiperight", function (event) {
if (currentScale != initialScale) return;
if (currentPage > 1) {
  --currentPage;
  img.src = document.getElementById("page" + zeroPad(currentPage, 2) + "url").value;
}
});

在Android 4.2.2中有什么我可以做的,代码方式来捕获这些事件吗?

解决方法:

你在这里有两个问题.

首先是由JQM中的一个已经解决但尚未实现的错误引起的

基本上,滑动事件测量的最小距离必须考虑设备的像素密度.所以在JQM的情况下,touch.js的以下更改将解决问题:

horizontalDistanceThreshold = window.devicePixelRatio >= 2 ? 15 : 30;
verticalDistanceThreshold = window.devicePixelRatio >= 2 ? 15 : 30;

第二个是todo与kitkat发射touchcancel而不是touchend.解决方案是将touchcancel委托给touchend.

标签:jquery,javascript,android,jquery-mobile
来源: https://codeday.me/bug/20190709/1408166.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有