So ersetzen Sie den Klick mit Touchstart auf iOS-Geräten

8

Ziel

Schließt das übergeordnete div eines Anchor-Tags, wenn darauf geklickt wird. Im folgenden Code möchte ich div performance_tt ausblenden, wenn der Benutzer auf das Anchor-Tag close_performance_tt klickt.

Problem

Es kann nicht auf iOS-Geräten ausgeführt werden, nachdem Sie mehrere Stunden damit verbracht haben. Funktioniert gut für alles andere, sogar für ein BlackBerry 10-Gerät.

%Vor%     
KalC 13.08.2013, 05:34
quelle

3 Antworten

14

Definieren Sie einen Klickhandler, den Sie später verwenden können:

%Vor%

Dadurch wird ein Klick auf Nicht-Touch-Geräte und Touchstart auf Touch-Geräten ausgelöst.

Wenn das gesagt wird, empfehle ich dringend, Fast click zu verwenden und normale Klick-Ereignisse zu verwenden. Mit der obigen Lösung werden Sie "Touchstart" auf Links auslösen, wenn Sie darauf wischen, um zum Beispiel die Seite zu scrollen - was nicht ideal ist.

    
curly_brackets 12.09.2013, 09:50
quelle
2

In iOs a -Tag ist ein anklickbares Element. Wenn Sie auf den Link klicken, werden die Mausereignisse (einschließlich click ) ausgelöst.

Dieser Code

%Vor%

funktioniert gut auf iOs.

Weitere Informationen: Ссылка

    
BMH 13.08.2013 05:48
quelle
1

Siehe Ссылка

Bei iOS-Mausereignissen wie Klick wird nicht bubbe, außer:

  • Das Zielelement des Ereignisses ist ein Link oder ein Formularfeld.
  • Das Zielelement oder einer seiner Vorgänger bis einschließlich, enthält keinen expliziten Ereignishandler für eines der Mausereignisse. Dieser Event-Handler kann eine leere Funktion sein.
  • Das Zielelement oder einer seiner Vorgänger bis einschließlich des Dokuments hat einen Cursor: pointer CSS-Deklarationen.

Die einfachste Lösung für mich ist, cursor: pointer überall anzuwenden, wenn es sich um ein iOS-Touch-Gerät handelt. Da es keinen Cursor gibt, hat es keine visuelle Auswirkung

    
Sebastien Lorber 16.07.2015 16:01
quelle

Tags und Links