【问题标题】:JQuery Mobile Swipe events on Windows PhoneWindows Phone 上的 JQuery Mobile 滑动事件
【发布时间】:2015-09-25 04:43:23
【问题描述】:

我正在使用 JQuery Mobile 来识别滑动事件,它运行良好。事件在 Windows Mobile 上触发(在我的例子中是 7.5),但也会触发的是 Web 浏览器用于浏览浏览历史记录的默认事件。向右滑动可返回一页。如何防止这种默认行为?

我尝试了 preventDefault() 并没有帮助。

【问题讨论】:

  • 嗯,这真的很好用。谢谢!
  • 我以前没见过,但它给我带来了另一个问题。我无法使用触摸事件滚动主要内容。 touch-action: pan-y 分配给正文样式时的事件。
  • 但转念一想我只能在正文上使用touch-action: pan-y。不阻止所有的触摸,然后阅读它们。它解决了我的问题,再次感谢。

标签: javascript jquery jquery-mobile windows-phone swipe


【解决方案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 上运行良好,因为它支持鼠标移动。

【讨论】:

    猜你喜欢
    • 2013-02-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-26
    • 1970-01-01
    • 2018-08-07
    • 1970-01-01
    • 2017-01-06
    相关资源
    最近更新 更多