Saturday, April 27, 2013

Prevent Pinch-zoom on a Div or Whole Body


Sometimes you just don't want people to go pinch-zoom your site into oblivion, luckily, there is a way to do that :-)

     $("body").bind('touchstart', function preventZoom(e) {
        var t2 = e.timeStamp
          , t1 = $(this).data('lastTouch') || t2
          , dt = t2 - t1
          , fingers = e.originalEvent.touches.length;
        $(this).data('lastTouch', t2);
        if (!dt || dt > 500 || fingers > 1) return; // not double-tap
        e.preventDefault(); // double tap - prevent the zoom
        // also synthesize click events we just swallowed up
        $(this).trigger('click').trigger('click');
      });

No comments:

Post a Comment