jQuery mobile:在捏合/缩小时改变字体大小?

时间:2013-04-09 08:21:22

标签: jquery jquery-mobile jquery-plugins multi-touch pinchzoom

我正在使用JQM编写Web文档阅读器。 我不希望我的用户在阅读时不断向右滚动,因此我的视口是:

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

尽管如此,我知道由于视觉技能不同,用户对字体大小的偏好可能会发生变化...... 因此,我认为在多点触控收缩动作上缩小字体大小会很好(&#34;捏合&#34;),并在多点触控缩放动作上放大字体大小(&#34;捏合&# 34)...

有可能吗?除了JQM,我还需要一些外部库吗?

1 个答案:

答案 0 :(得分:6)

可以在jQuery Mobile上使用,但您需要使用名为hammer.js的第三方实现。

它支持大量的手势,如:

  • 保持
  • 抽头
  • doubletap
  • 拖动,拖拽,拖拽,拖拽,拖拽,拖拽,拖拽
  • 轻扫,swipeup,swipeown,swipeleft,swiperight
  • transform,transformstart,transformend
  • 旋转
  • 捏,pinchin,pinchout
  • 触摸(手势检测开始)
  • 发布(手势检测结束)

示例:

$('#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设备的另一个想法,因为该平台不支持多点触控事件。

还有一些其他第三方实施,如Touchy。不幸的是,Touchy只支持捏。