Kann ich feststellen, ob etwas ein Touch-Gerät ist

… in Javascript?

Und ich meine nicht mobil, ich meine jedes Gerät, z. B. ein Touch-Gerät wie ein Tablet, bei dem Hover keinen Sinn ergibt.

Oder bin ich gezwungen, CSS zu verwenden?

1 „Gefällt mir“

Eine knifflige Sache, die man bedenken muss, sind Laptops mit Touchscreens. In diesem Fall erfolgt die primäre Interaktion normalerweise über eine Maus … obwohl das Gerät technisch gesehen einen Touchscreen hat. Das hat uns kürzlich einige Kopfschmerzen mit Reaktionen bereitet :sweat_smile:

Aber um Ihre spezielle Frage zu beantworten: Ich denke, CSS-Medienabfragen sind der richtige Weg. Wir haben hover, pointer, any-hover und any-pointer.

Und dann können Sie diese CSS-Medienabfragen mit window.matchMedia wie folgt ausführen:

4 „Gefällt mir“

Ja, guter Punkt und schöner Vorschlag.

Ich habe versucht, die Theme-Einstellungen zu verwenden, um zu bestimmen, wann bestimmte Auszüge über einem Bild erscheinen sollen, das normalerweise nur beim Überfahren mit der Maus angezeigt wird.

In meinem Fall wären die Optionen:

  • Immer an
  • Nur auf Touch-Geräten (da Hover auf Tablets/Handys nicht wirklich verfügbar ist)
  • Nur beim Überfahren mit der Maus (Normalfall)

Das Erkennen von Touch-Geräten ist in diesem Fall vielleicht keine Katastrophe :sweat_smile:

Ich hatte nur gehofft, dass es ein direktes Website-Attribut gäbe, das ich übersehen hatte, aber ich werde Ihren Vorschlag prüfen. Ein kleines CSS-Refactoring mit einigen concatClasses sieht jedoch wahrscheinlich aus …

1 „Gefällt mir“

Der capabilities-Dienst hat einige Eigenschaften, die helfen könnten. z.B.:

Obwohl es erwähnenswert ist: Diese Logik hat uns kürzlich Kopfzerbrechen bereitet. Ich stelle mir vor, dass wir sie in naher Zukunft durch die auf CSS-Media-Queries basierende Strategie ersetzen werden. (Als dies geschrieben wurde, glaube ich nicht, dass diese Media Queries weit verbreitet waren)

6 „Gefällt mir“

oooh das ist ein heimlicher Dienst … nicht viel davon in der Quelle gesehen! :male_detective:

1 „Gefällt mir“