Jquery touchstart 可以工作,但不能向左滑动

Posted

技术标签:

【中文标题】Jquery touchstart 可以工作,但不能向左滑动【英文标题】:Jquery touchstart works but not swipeleft 【发布时间】:2014-05-04 04:40:13 【问题描述】:
<link rel="stylesheet" href="/javascript/jquery-ui-1.9.2.custom/css/smoothness/jquery-ui-1.9.2.custom.css" />
<script src="/javascript/jquery.mobile-1.4.2/jquery.mobile-1.4.2.js"></script>
<script src="/javascript/jquery-1.8.2.js"></script>
<script src="/javascript/jquery-ui-1.9.2.custom/js/jquery-ui-1.9.2.custom.js"></script>
<script src="/javascript/jquery.easing.1.3.js"></script>

以上是我对 jquery 的包含语句。 我对 touchstart 和 swipeleft 有相同的事件侦听器。 touchstart 以某种方式工作,但是 swipeleft 中的一个简单的 alert() 失败了。有什么原因吗?

var slides = $('#latestEventSection');    
slides.on('swipeleft', function(e) 
  alert("swipeleft");
);
slides.on('swiperight', function(e) 
  alert("swiperight");
);

【问题讨论】:

控制台是否出现错误? 嗨,没有错误。我只需要将 swipeleft 更改为 touchstart。 alert() 将起作用 好的。我的猜测(我可能错了)是因为 touchstart 在大多数常见浏览器中都是原生的。左滑不是。这就是为什么第一个有效但第二个无效的原因。加载 jquery 后尝试将 jquery 移动。 我试过在 jquery 之后放置 jquery mobile ,不知何故它会产生很多错误......这是正常的吗?因此我现在之前放置了它......无论如何......一旦我拥有jquery mobile,我应该能够运行swipeleft吗?还有其他先决条件吗? JQM 应该放在 jquery 之后。我猜JQM和jq-ui之间存在冲突。使用 jquery 1.9 【参考方案1】:

我刚换了

<script src="/javascript/jquery.mobile-1.4.2/jquery.mobile-1.4.2.js"></script> 

到最后一条语句并删除所有 JQM 自动表单增强功能,我的页面运行良好

【讨论】:

以上是关于Jquery touchstart 可以工作,但不能向左滑动的主要内容,如果未能解决你的问题,请参考以下文章

JQuery 获取touchstart,touchmove,touchend 坐标

zepto tap事件和touchstart事件的区别

jQuery 解除绑定事件

JQuery UI Draggable on long press 适用于 mousedown 但不适用于 touchstart

获取touchstart,touchmove,touchend 坐标

尝试在 wordpress 自定义页面中实现 jQuery 以进行搜索自动完成但不工作