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

Mar*_*coS 2 jquery jquery-plugins multi-touch jquery-mobile 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;' />
Run Code Online (Sandbox Code Playgroud)

虽然,我知道由于不同的视觉技能,用户对字体大小的偏好可能会改变......所以,我认为在多点触控收缩动作("捏合")上缩小字体大小会很好,并且放大多点触控缩放动作的字体大小("捏合")...

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

Gaj*_*res 7

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

它支持大量的手势,如:

  • 保持
  • 龙头
  • 双击
  • 拖动,拖拽,拖拽,拖动,拖拽,拖拽,拖拉
  • 滑动,swipeup,swipeown,swipeleft,swiperight
  • 变换,变革开始,变革
  • 回转
  • 捏,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);
});
Run Code Online (Sandbox Code Playgroud)

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

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