Erkennen hover-oder mouseover für smartphone-browser
Habe ich eine alphabetische scrolling bar (ASB) in meiner app, die die meisten smartphones haben in Ihrer Contacts
app.
Nun, ich habe keine problem zu scrollen, um bestimmte Element, wenn meine finger touchstart touchend click etc..
auf der ASB.
Aber, ich habe ein problem das festhalten hover
oder mouseover
Ereignis auf meinem smartphone.
Habe ich versucht touchstart touchswipe touchend mouseenter mousemove
oder hover
ohne lucks.
Hier ist die Geige oder Codepen zu spielen, um auf Ihrem Handy.
Jeder Vorschlag wird sehr geschätzt.
- Nicht sicher, ob ich verstehe, was du versuchst zu erreichen? Das hover funktioniert gut für mich?
- Funktioniert es problemlos auf Ihrem Mobil-browser?
- Es gibt kein hover auf dem smartphone. Das Gerät kann einfach nicht erkennen, es. Sie erhalten nur Klicks, drags etc.
- Was soll ein
hover
Ereignis auf dem Handy? Ich nehme an, es hat eine Art von klicken Sie auf Ereignis-oder zumindest einige touch-event auf dem Bildschirm. - Definitiv nicht
click
Fall.. Aber vielleicht so etwas wietouch
Ereignis.. - Einige smartphones unterstützen schweben. Mein Galaxy S5 zum Beispiel, mit ein paar Einstellungen geändert. In diesem Fall wird es abgeholt, in eine web-Seite die gleiche Weise einen Mauszeiger auf einem PC.
Du musst angemeldet sein, um einen Kommentar abzugeben.
TL;DR;
touchmove
,touchstart
undtouchend
sind die Ereignisse, die dies möglich gemacht hat.Habe ich gefunden, dass Leute sagen mir immer, dass es nicht möglich ist, auf nicht-native app um die Funktionalität der hover-event auf dem smartphone.
Aber, die modernen smartphone-Browsern haben tatsächlich die Funktionalitäten. Ich erkannte, dass die Lösung ist buchstäblich liegt in einem sehr einfachen Platz. Und mit ein paar tweaks, ich habe herausgefunden, wie ich simulieren kann dieses Verhalten zu cross-Plattform-auch wenn es ein bisschen schummeln.
So, die Meisten
touchevents
übergeben, die Argumente, die die benötigten Informationen, wenn der Benutzer berührt den Bildschirm.E. g
Und da ich weiß, dass die Höhe jeder Taste auf meiner
ASB
, kann ich einfach berechnen, wo der Benutzer mit der Maus das element auf.Hier ist die CodePen, um zu versuchen, es einfacher auf mobile touch-Geräte. (Bitte beachten Sie, dies funktioniert nur auf Geräten mit Touchscreen können Sie immer noch mit chrome auf die umgeschaltet device-Modus)
- Und dies ist meine Letzte code,
JS:
CSS:
HTML:
Den hover-Ereignis wird ausgelöst, mit Klick/touch-Ereignisse auf dem Handy, da kann man nicht einfach schweben ein element auf einem touch-screen.
Können Sie zeigen dieses Verhalten, indem Sie einfach mit der css hover-und/oder Fokus-Selektoren, um die Inhalte ändern, sehen Sie, dass, bevor Sie auf die Elemente bleiben die gleichen, aber nach Klick erhalten Sie geänderte styles.
binden touchstart auf ein Elternteil. So etwas wie dies funktionieren wird:
Brauchen Sie nicht, etwas zu tun in der Funktion, lassen Sie es leer. Dies reicht aus, um mit der Maus auf touch, also eine Berührung, verhält sich eher wie :hover und weniger wie :active.
Ähnliche Frage Wie kann ich simulieren, ein schweben mit einem touch-in touch-fähige Browser?
Den code, den Sie in Ihrem Fiddle oder Codepen ist in Ordnung. Was ist also die Aufregung?
Gut, meist Luft oder touch-Auslösung-gadgets wie smartphones und tablets, können Sie nicht einfach die hover-Sache-Funktion, da kann man nicht hover-Sache, dass es einige Veranstaltungen. Sie können nur die hover-Funktion, wenn Sie zum Beispiel eine abnehmbare Tastatur für tablet (oder etwas, das verwendet Maus oder finger-scroller).