2015-02-24 3 views
5

Derzeit zum Erfassen Touchscreen-Geräte ich dies in meinem Javascript verwenden:createTouch vs ontouchstart - der beste Weg, Touchscreen-Geräte zu erkennen?

if ('createTouch' in document) { 
// do touchscreen-specific stuff 
} 

Ich sehe, dass viele Entwickler verwenden ontouchstart, wie folgt aus:

if ('ontouchstart' in document) { 
// do touchscreen-specific stuff 
} 

Was ist der Unterschied zwischen createTouch und ontouchstart? Welcher ist am sichersten zu benutzen? Gibt es andere einfache, zuverlässige Alternativen zu diesen beiden?

Antwort

3

touchstart Ereignis ausgelöst wird, wenn ein Berührungspunkt auf der Berührungsoberfläche ([MDN] [1])

createTouch Methode platziert wird, erzeugt und gibt ein neues Touch-Objekt. ([MDN] [2])

Der bessere Weg aus meiner Sicht ist das Erkennen der Existenz von Ereignis im Fenster als nur erstellen.

Auch Ihre Aussageüberprüfung nur für existierende Touch-Ereignisse in Fensterobjekt, nicht Touchscreens, wie Windows-Telefone, also wahrscheinlich möchten Sie auch Zeiger-Ereignisse überprüfen.

S.S .: Betrachten Sie Modernizr Bibliothek, die "Touch" Erkennung und vieles mehr haben.

2

ontouchstart ist ereignisbasierter Auslöser. Es wird aufgerufen, wenn der Benutzer eine Aktion ausführt. Mehr Infos unter ontouchstart event. Daher ist es effizienter, eine benutzerbasierte Aktion auszuführen.

Während createtouch aufgerufen wird, ist es egal, ob der Benutzer eine Aktion ausgeführt hat oder nicht. Jemand korrigiert mich bitte, wenn ich falsch liege. :)