Tôi có một bản đồ Google Maps trên trang web của mình, nhưng khi sử dụng nó với một máy tính bảng Microsoft Surface, cử chỉ "pan" bị chặn bởi trình duyệt - nó cố gắng đi đến cửa sổ trình duyệt tiếp theo. Làm cách nào để cho phép trình duyệt có thể bỏ qua sự kiện (kéo sự kiện) để bản đồ hoạt động bình thường? Đi tới maps.google.com
, bản đồ hoàn toàn có thể kéo được, vì vậy phải có cách giải quyết mà Google sử dụng.Microsoft Surface: Làm cách nào để cho phép các sự kiện chạm/kéo JavaScript hoạt động mà không bị trình duyệt chặn?
Trả lời
Theo hướng dẫn của MS về "Sự kiện con trỏ và cử chỉ" (ở đây: http://msdn.microsoft.com/en-us/library/ie/hh673557%28v=vs.85%29.aspx#Panning_and_zooming), bạn cần phải thêm lớp CSS vào phần tử bạn muốn vô hiệu hóa với quy tắc "-ms-touch-action" được đặt thành " none" như thế này:
.disablePanZoom
{
-ms-touch-action: none; /* Shunt all pointer events to JavaScript code. */
}
--EDIT--
hiện nay có là một tài sản hình cảm ứng hành động phi tiền tố, đề xuất trong W3C Pointer sự kiện Candidate recomendation.
Tính đến Internet Explorer 11, phiên bản tiền tố nhà cung cấp Microsoft của sự kiện này (-ms-touch-action) không còn được hỗ trợ và có thể được gỡ bỏ trong một thông cáo trong tương lai. Thay vào đó, hãy sử dụng thao tác chạm tên không có tiền tố, tốt hơn cho việc tuân thủ các tiêu chuẩn và khả năng tương thích trong tương lai.
Giải pháp làm việc tốt nhất mà tôi đã tìm thấy. –
Tôi sẽ thêm rằng bạn có thể thực hiện cả hai, để có khả năng tương thích tối đa, nó không làm tổn thương việc này: '.disablePanZoom { -ms-touch-action: none; hành động chạm: không; } ' – JoeDuncan
- 1. Có cho phép JavaScript trong trình duyệt PHẢI có được các trang ASP.NET hoạt động không?
- 2. Các sự kiện kích hoạt Tự động điền và Javascript của Trình duyệt
- 3. Tải xuống javascript mà không bị chặn
- 4. Làm thế nào để ngăn chặn các sự kiện chuột mô phỏng trong các trình duyệt di động?
- 5. Xem sự kiện javascript trong trình duyệt
- 6. Trình nghe sự kiện 'keydown' của Javascript không hoạt động
- 7. Sự kiện Javascript không hoạt động trên Tablet-pc?
- 8. Yêu cầu ajax có hoạt động nếu JavaScript bị tắt trong trình duyệt không?
- 9. sự kiện trình duyệt cho window.focus()
- 10. Tạo async Javascript sự kiện từ plugin trình duyệt (NPAPI)
- 11. Làm cách nào để kích hoạt sự kiện/chức năng quay lại của trình duyệt bằng JavaScript?
- 12. Làm cách nào để nhận URL mà sự kiện downloadBegin() được kích hoạt?
- 13. Sự kiện cuộn trên Trình duyệt Android không kích hoạt. Cần giải quyết sự cố
- 14. Không có sự kiện nhấn phím nào cho các phím nhất định trong trình duyệt Android
- 15. Làm thế nào để ngăn chặn bộ nhớ đệm kết quả Ajax/javascript trong trình duyệt?
- 16. Làm cách nào để kích hoạt sự kiện onChange cho một trường bị ẩn?
- 17. Làm cách nào để phát hiện xem trình duyệt có hỗ trợ các sự kiện di chuột không?
- 18. Chạy Visual Studio trên Microsoft Surface?
- 19. Làm thế nào để chặn cho đến khi một sự kiện được kích hoạt trong C#
- 20. Sự kiện đóng cửa sổ Javascript thay vì dỡ sự kiện cho tất cả các trình duyệt
- 21. Làm cách nào để cho phép người dùng duyệt nội dung HTML/WebSite mà không cần khởi chạy trình duyệt (cần một trình duyệt nội tuyến)?
- 22. Làm cách nào để làm cho trình xử lý sự kiện chạy không đồng bộ?
- 23. Sự kiện Javascript kích hoạt khi bạn kéo tệp từ máy tính để bàn đến trình duyệt của mình
- 24. Sự kiện quay số trong các trình duyệt hiện đại
- 25. HTML5 Geolocation không yêu cầu sự cho phép và không hoạt động trên Samsung S3
- 26. Làm thế nào để đồng bộ hóa các sự kiện hoạt hình CSS3 và Trình nghe sự kiện với jQuery
- 27. cách ngăn chặn chuỗi sự kiện trong javascript
- 28. Sự kiện mờ dừng sự kiện nhấp chuột hoạt động?
- 29. Làm cách nào để kích hoạt sự kiện phát trên javascript mà không cần gửi người dùng lên đầu trang?
- 30. Sự kiện JQuery.stopPropagation() không hoạt động
Bạn có thực sự làm việc này hoạt động chính xác không? Tôi vẫn đang đối mặt với cùng một vấn đề và đã thử áp dụng quy tắc CSS của 'touch-action' trên tất cả các phần tử không có may mắn. – Mark