Próbuję utworzyć zdarzenie dotyku dla testu jednostki. Po przeczytaniu https://developer.mozilla.org/en-US/docs/Web/API/TouchEvent, spodziewałem się, że będę w stanie to zrobić:Jak programowo utworzyć TouchEvent w przeglądarce Chrome 41?
document.createEvent('TouchEvent');
Ale otrzymuję ten błąd:
Uncaught DOMException: Failed to execute 'createEvent' on 'Document': The provided event type ('TouchEvent') is invalid.
widziałem Creating and firing touch events on a touch enabled browser?, który również wydaje się wskazywać, że CreateEvent() jest droga iść.
Próbowałem też tworząc wydarzenie za pomocą konstruktora, który pracuje dla, powiedzmy, MouseEvent i WheelEvent:
new window.TouchEvent()
Ale pojawia się błąd i tu:
Uncaught TypeError: Illegal constructor
Próbowałem w Firefoksie 36, ale na podstawie http://caniuse.com/#search=touch, nie byłem zaskoczony, aby zobaczyć:
NotSupportedError: Operation is not supported
Po ru nning
document.createEvent('TouchEvent')
Nie ma zdarzenia window.TouchEvent konstruktora w Firefoksie, co znowu nie jest zaskakujące.
Jakieś pomysły, co robię źle?
(tylko Windows 8+) Jeśli nie masz rzeczywistego urządzenia, możesz utworzyć program wywołujący [InitializeTouchInjection] (https: // msdn .microsoft.com/en-us/library/windows/desktop/hh802880 (v = vs.85) .aspx). Stworzy to wirtualne urządzenie dotykowe, które Chrome rozpoznaje i pozwala tworzyć TouchEvents. –