3

我正在用 JQM 编写一个 Web 文档阅读器。我不希望我的用户在阅读时不断地左右滚动,所以我的视口是:

<META NAME='viewport' CONTENT='width=device-width; initial-scale=1.0; maximum-scale=1.0; minimum-scale=1.0; user-scalable=1;' />

虽然,我知道用户对字体大小的偏好可能会因视觉技能的不同而改变......所以,我认为在多点触控缩小动作(“捏合”)中缩小字体大小会很好,然后放大多点触控缩放动作(“捏出”)的字体大小...

是否可以?除了 JQM,我还需要一些外部库吗?

4

1 回答 1

7

这在 jQuery Mobile 上是可能的,但您需要使用名为hammer.js的第3 方实现。

它支持大量手势,例如:

  • 抓住
  • 轻敲
  • 双击
  • 拖动,dragstart,dragend,dragup,dragdown,dragleft,dragright
  • 滑动,向上滑动,向下滑动,向左滑动,向右滑动
  • 变换,变换开始,变换结束
  • 旋转
  • 捏,捏,捏
  • 触摸(手势检测开始)
  • 释放(手势检测结束)

例子:

$('#test_el').hammer().on("pinchin", ".nested_el", function(event) {
    console.log(this, event);
});

$('#test_el').hammer().on("pinchout", ".nested_el", function(event) {
    console.log(this, event);
});

它适用于 jQuery Mobile,这很重要。但是您应该考虑其他一些想法,或者至少是针对 Android 2.X 设备的另一个想法,因为该平台不支持多点触控事件。

还有一些其他的 3rd 方实现,例如Touchy。不幸的是,Touchy 只支持捏合。

于 2013-04-09T08:50:11.187 回答