Mam mapę Google Maps na mojej stronie internetowej, ale podczas używania jej z tabletem Microsoft Surface gest "pan" jest przechwytywany przez przeglądarkę - próbuje przejść do następnego okna przeglądarki. Jak zezwolić na ignorowanie panoramy (zdarzenia przeciągania) przez przeglądarkę, aby mapa zachowywała się normalnie? Przechodząc na stronę maps.google.com
, mapa jest łatwa do przeciągnięcia, więc musi istnieć obejście, które Google stosuje.Microsoft Surface: Jak mogę zezwolić na obsługę zdarzeń dotykowych i przeciągania JavaScriptu bez przechwytywania przez przeglądarkę?
Odpowiedz
Zgodnie z instrukcją MS dotyczącą "wskaźników i zdarzeń gestów" (tutaj: http://msdn.microsoft.com/en-us/library/ie/hh673557%28v=vs.85%29.aspx#Panning_and_zooming) należy dodać klasę CSS do elementu, który ma zostać wyłączony, z włączoną opcją "-ms-touch-action" na " none”tak:
.disablePanZoom
{
-ms-touch-action: none; /* Shunt all pointer events to JavaScript code. */
}
--EDIT--
jest teraz non-prefiksem nieruchomość dotykowy działania, zaproponowany w W3C Pointer Events kandydackiej rekomendacji.
jak Internet Explorer 11, Microsoft dostawcy ustalonej wersji tego zdarzenia (-ms-touch-action) nie jest już obsługiwany i może zostać usunięta w przyszłych wydaniach. Zamiast tego użyj nieprzypisanej akcji dotykowej, która jest lepsza dla zgodności ze standardami i przyszłej zgodności.
Najlepsze działające rozwiązanie, które znalazłem. –
Dodałbym, że możesz zrobić oba, dla maksymalnej kompatybilności, nie boli to zrobić: '.disablePanZoom { -ms-touch-action: none; dotknij akcji: brak; } ' – JoeDuncan
- 1. Uruchom Visual Studio na Microsoft Surface?
- 2. Mapowanie zdarzeń dotykowych JavaScript na zdarzenia myszy
- 3. Jak zastąpić obsługę zdarzeń jquery
- 4. Otrzymywanie zdarzeń dotykowych poza granicami
- 5. Jak wyłączyć obsługę zdarzeń kliknięcia przez określony czas?
- 6. Wykrywanie przeciągania palcem za pomocą Javascript na telefonach dotykowych?
- 7. Obsługa zdarzeń dotykowych UITextView po dotknięciu słowa w nim
- 8. Jak mogę przesłonić domyślne okno dialogowe wyjątków bez przechwytywania?
- 9. Jak mogę analizować i zmniejszać rozmiar plików generowanych przez przeglądarkę?
- 10. Wyślij formularz bez JavaScriptu
- 11. Jak programować w Delphi dla Surface Pen firmy Microsoft?
- 12. jednoczesnych zdarzeń dotykowych przeładunku na wielu widoków w Androidzie
- 13. Słuchanie mousedown I touchstart na urządzeniach, które używają dotyku i myszy (np. Surface)
- 14. Czy jQuery zachowuje właściwości zdarzeń dotykowych?
- 15. Jak zastąpić wcześniej ustawioną obsługę zdarzeń jquery?
- 16. Obsługa zdarzeń dotykowych na iPadzie dla draggables/droppables (undefined changedTouches)
- 17. GetJSObject zawiedzie podczas uruchamiania Microsoft Surface (Excel VBA)
- 18. CAEmitterLayer emituje losowych zdarzeń niepożądanych cząstek na dotykowych
- 19. Jak deklarować obsługę zdarzeń lambda w VB.Net?
- 20. Jak usunąć obsługę zdarzeń z instancji JWPlayer?
- 21. Framework CSS bez JavaScriptu
- 22. Jak powiązać obsługę zdarzeń tylko wtedy, gdy jeszcze nie istnieje?
- 23. Jak mogę zezwolić administratorowi django na ustawienie pola na NULL?
- 24. Jak znaleźć detektory zdarzeń w węźle DOM przy użyciu JavaScriptu
- 25. blokowanie domyślnych zdarzeń przeciągania w Meteorzie
- 26. Saving Surface do bitmap i optymalizacji DirectX przechwytywania ekranu w C#
- 27. Jak wykryć przeglądarkę IE i Edge?
- 28. Dlaczego model zdarzeń jQuery nie obsługuje przechwytywania zdarzeń i obsługuje tylko propagację zdarzeń
- 29. Jak mogę zezwolić użytkownikowi na ponowne sortowanie elementów na liście?
- 30. Jak mogę zezwolić na ukośniki na moich trasach ekspresowych?
Czy rzeczywiście działa to poprawnie? Nadal mam ten sam problem i spróbowałem zastosować regułę CSS 'touch-action' na wszystkich elementach bez powodzenia. – Mark