Hover-Effekt auf mobilen Touch-Geräten (iPhone, Android, Windows)

8

Ich versuche, einen Weg zu finden, einen Hover-Effekt für mobile Geräte zu simulieren. Ich habe gesucht, aber keiner scheint zu funktionieren.

Das Element, das ich versuche, einen mobilen Hover-Effekt zu erhalten, ist ein Link, der beim Hover seine Farbe ändert.

    
Colton Anglin 14.10.2013, 22:45
quelle

3 Antworten

5

Gut, es kann viel mit dem Telefon zu tun haben, auf dem Sie gerade testen. Normalerweise teste ich mit android, das für lange drücken und abrutschen scheint (also gibt es kein onMouseUp event) durch Auslösen der :hover oder :focus -Zustand.

Es stellt sich wirklich die Frage, ob es wirklich einen Wert hat, wenn ein Benutzer diesen Zustand wirklich nicht auslösen kann. :Hover wurde für die Desktop-Nutzung mit einer Maus entwickelt, die Replikation dieser Interaktionen auf Mobilgeräten scheint kontraproduktiv zu sein.

Wenn Sie versuchen, eine wirklich interessante Interaktion für Mobilgeräte zu erreichen, weil es schwierig ist, einen Hover-Status auszulösen, ohne das onMouseUp -Ereignis auszulösen, können Sie besser Elemente verwenden, für die keine Links angehängt sind klickt, ohne einen Link auszulösen.

jQuery hat event.preventDefault() , was für andere Bedürfnisse hilfreich sein kann.

    
Adam D Harrington 15.10.2013 11:17
quelle
4

Neue Smartphones auf dem Markt unterstützen tatsächlich Hover, ohne JS aufrufen zu müssen, damit es funktioniert. Regelmäßige Verbindungen mit den Pseudo-Klassen a: hover anchor erreichen die Hover-Aktion, solange das Smartphone die Hover-Geste unterstützt.

Ссылка

    
user2770714 15.10.2013 00:44
quelle
1

Um mouseover Effekt in Javascript zu geben, müssen wir jquery-ui.js und jquery.ui.touch-punch.min.js verwenden, von ui js erhalten wir zwei wichtige Funktionen droppable(); and draggable();
Dadurch kann das Element per Drag & Drop verschoben werden, jedoch wird draggable = true in HTML5 überschrieben Also, wenn wir den gleichen Code für dekstop sowie Telefon verwenden möchten, dann verwenden Sie wie folgt

%Vor%

Damit können wir den gleichen Code sowohl in dekstop als auch in mobilen Anwendungen ausführen jetzt der zweite wichtige Punkt, in HTML5 verwenden wir dragstart(), dragleave(), dragover(), drop() für verschiedene Operationen in Bezug auf Drag & Drop, aber in mobilen wir benötigt touchstart(), touchmove(), touchend() and touchcancel() für Drag & Drop, die wir von jquery.ui.touch-punch.min.js bekommen, aber für Maus über Effekt müssen wir verwenden Logik wie folgt

%Vor%

Wenn wir das element touchmove -Ereignis ziehen, ist fire, also benutze

%Vor%

Es gibt einen Zoom-Effekt bei moseover.

    
Bhushan 05.08.2014 07:58
quelle

Tags und Links