Windows Phone 上的 JQuery Mobile 滑动事件
Posted
技术标签:
【中文标题】Windows Phone 上的 JQuery Mobile 滑动事件【英文标题】:JQuery Mobile Swipe events on Windows Phone 【发布时间】:2015-09-25 04:43:23 【问题描述】:我正在使用 JQuery Mobile 来识别滑动事件,它运行良好。事件在 Windows Mobile 上触发(在我的例子中是 7.5),但也会触发的是 Web 浏览器用于浏览浏览历史记录的默认事件。向右滑动可返回一页。如何防止这种默认行为?
我尝试了 preventDefault() 并没有帮助。
【问题讨论】:
你试过这个***.com/questions/26764045/… 吗? 嗯,这真的很好用。谢谢! 我以前没见过,但它给我带来了另一个问题。我无法使用触摸事件滚动主要内容。touch-action: pan-y
分配给正文样式时的事件。
但转念一想我只能在正文上使用touch-action: pan-y
。不阻止所有的触摸,然后阅读它们。它解决了我的问题,再次感谢。
【参考方案1】:
它将禁用触摸:-
添加 CSS sn-ps:
*
touch-action: none;
但要重新激活仅在某个区域上的触摸事件,以允许玩家播放或激活触摸
要激活某些地方,请添加:-
#activetouch
touch-action: chained;
参考:https://developer.mozilla.org/en-US/docs/Web/CSS/touch-action
【讨论】:
虽然chained
属性对我不起作用,但none
解决了我原来的问题。同样在 WP7.5 上。这是我的回答。 @halfzebra 的评论也很有帮助【参考方案2】:
Windows Phone 7/IE9 不支持 mousemove 事件,因此 jquery mobile 无法识别滑动事件。
像Apache Cordova (PhoneGap) 这样的一些移动框架通过在本机(silverlight)触摸事件和网络浏览器控件之间添加特殊垫片来修复丢失的鼠标事件,提供了解决方法。 Demo
这在 Windows Phone 8 上运行良好,因为它支持鼠标移动。
【讨论】:
以上是关于Windows Phone 上的 JQuery Mobile 滑动事件的主要内容,如果未能解决你的问题,请参考以下文章
windows phone 7 - phonegap 停止 jquery.ajax
jQuery Mobile无法在PhoneGap Windows Phone 8中运行
Phonegap Windows Phone 7 动态 HTML 加载和使用 jQuery 的跨域调用
jQuery 在 Windows Phone 8 手机间隙应用程序中不能很好地渲染角落