2013-04-03 30 views
5

Tôi đang tạo một ứng dụng web đơn giản sử dụng phiên bản mới của hammerJS để thu phóng pinch. Tôi đang gặp vấn đề với việc kéo trang iOS mặc định khi pinch bắt đầu. Đường nối này để ghi đè sự kiện pinch mà tôi đang cố bắt giữ. Bất kỳ sự trợ giúp nào ngăn chặn điều này trong khi sử dụng hammerJS sẽ được đánh giá cao.Ngăn chặn trang web mặc định của iOS kéo bằng javascript và hammerJS

PS: Tôi đã cố sử dụng event.preventDefault() để không có kết quả.

Trả lời

0

Đặt này trong tiêu đề của bạn:

<meta name="viewport" content="width=device-width,user-scalable=no"> 

Về cơ bản các điều khiển tài sản do người dùng khả năng mở rộng nếu người dùng được phép phóng to trang. Vì vậy, một khi bạn vô hiệu hóa nó, bạn có thể kiểm soát zoom với hammerJs.

Thông tin thêm tại đây https://developer.mozilla.org/en-US/docs/Mobile/Viewport_meta_tag#Viewport_basics

+0

Dường như kéo được tạo bằng cách véo vẫn được chụp bằng safari trên iOS. Điều này làm cho trang trong trình duyệt kéo xuống (không cuộn). Ứng dụng web không có bất kỳ thanh cuộn nào. –

+0

Lạ ... [preventDefault()] (http://developer.apple.com/library/ios/#documentation/AppleApplications/Reference/SafariWebContent/HandlingEvents/HandlingEvents.html#//apple_ref/doc/uid/TP40006511- SW24) nên tắt thu phóng pinch – Bema

0

Bạn đang gọi gì ngăn chặnDefault on? Tôi thường kết hợp @ câu trả lời Bertrand với một cái gì đó như thế này

$(body).on('touchmove', function(e){ 
    e.preventDefault(); 
}); 
1

Bạn cần phải gọi preventDefault hơi khác nhau để làm thế nào bạn có thể được sử dụng để. Giống như vậy:

$('#your_element').on('pinch', function(event) { 
     event.gesture.preventDefault(); 
}); 

Xem this hammer.js example để biết ví dụ khác.

Các vấn đề liên quan