Es gibt keine Möglichkeit, dies zu Javascript ohne Rückgriff, derzeit zu erreichen.
Wie @easwee sagte, Modernizr ist eine gut angesehene JS-Bibliothek, die sich auf Feature-Erkennung konzentriert. Sie können den Test touch
für Ihren Anwendungsfall verwenden.
Wenn Sie nicht alle Glocken und Pfeifen der Modernizr benötigen, können Sie wie folgt vorgehen:
A) Tag der folgenden JS Laden bereits in Ihrem <body>
wie möglich:
<script type="text/javascript">
if(!!window.TouchEvent) body.className += " touch-enabled ";
</script>
B) Schreiben Sie Ihr CSS. Da Gecko eine Medienabfrage, um Sie über Touch Verfügbarkeit zu informieren, werden Sie die Touch-spezifische CSS tölpeln müssen, etwa so:
BODY.touch-enabled DIV.foo
{
/* touch-specific CSS */
}
@media screen and (-moz-touch-enabled)
{
DIV.foo
{
/* touch-specific CSS */
}
}
Wenn der pro-Selektor Code in beiden Fällen identisch ist, sollte GZIP Einen Teil der Duplizierung optimieren. (Sie verwenden Kompression, hoffe ich.)
https://github.com/Modernizr/Modernizr/blob/master/feature-detects/touchevents.js – eimaj