Heim > Web-Frontend > js-Tutorial > Einführung in Berührungsereignisse und virtuelle Mausereignisse in der mobilen jQuery-Seite development_jquery

Einführung in Berührungsereignisse und virtuelle Mausereignisse in der mobilen jQuery-Seite development_jquery

WBOY
Freigeben: 2016-05-16 15:27:48
Original
1290 Leute haben es durchsucht

Berührungsereignis (Berührung)
Es gibt einige Berührungsereignisse, die in jQuery Mobile anpassbar sind. Diese Ereignisse sind jedoch nur verfügbar, wenn ein Benutzer, der mit einem Touch-fähigen Gerät interagiert, Ihre jQuery Mobile-Site besucht. Wenn diese Ereignisse verfügbar sind, können Sie jedes benutzerdefinierte JavaScript als Reaktion auf fünf verschiedene Ereignisse auslösen: Tippen, Tippen und Halten, Wischen, Wischen nach links und Wischen nach rechts.

Tippen: Wird nach einem schnellen und vollständigen Tippen ausgelöst

Taphold (Tippen und Halten): Wird nach dem Tippen und Halten (ca. eine Sekunde) ausgelöst

Swipe: Ein Ereignis, das ausgelöst wird, wenn der horizontale Widerstand innerhalb einer Sekunde mehr als 30 Pixel oder der vertikale Widerstand weniger als 20 Pixel beträgt. Es kann eingestellt werden, wie lange und wie viele Pixel gezogen werden sollen. Diesem Ereignis sind die Attribute

zugeordnet

scrollSupressionThreshold (Standard: 10 Pixel) – Horizontales Ziehen über diesem Wert wird nicht ausgelöst.
durationThreshold (Standard: 1000 ms) – Wenn die Sliding-Zeit diesen Wert überschreitet, wird kein Sliding-Ereignis generiert.
horizontalDistanceThreshold (Standard: 30px) – Ein Gleitereignis tritt nur auf, wenn die horizontale Wischdistanz diesen Wert überschreitet.
VerticalDistanceThreshold (Standard: 75px) – Ein Gleitereignis tritt nur auf, wenn die vertikale Wischdistanz kleiner als dieser Wert ist.
swipeleft (nach links wischen): wird ausgelöst, wenn das Wischereignis in die linke Richtung erfolgt

swiperight (nach rechts wischen): wird ausgelöst, wenn das Wischereignis in die richtige Richtung geht

Um diese Ereignisse zu binden, müssen Sie nur document.ready() programmieren, wie im folgenden Codebeispiel gezeigt:

<!DOCTYPE HTML>
<html>
<head>
 <title>Understanding the jQuery Mobile API</title>
 <link rel="stylesheet" href="jquery.mobile.css" />
 <script src="jquery.js"></script>
 <script type="text/java script">
  $(document).ready(function(){
   $(".tap-hold-test").bind("taphold", function(event) {
    $(this).html("Tapped and held");
   }); 
  });
 </script>
 <script src="jquery.mobile.js"></script>
</head>

<body>
 <div data-role="page" id="my-page">
  <div data-role="header">
      <h1>Header</h1>
    </div>
    <div data-role="content">
      <ul data-role="listview" id="my-list">
        <li class="tap-hold-test">Tap and hold test</li>
      </ul>
  </div>
 </div>
</body>
</html>

Nach dem Login kopieren

Wie Sie dem obigen Code entnehmen können, ist eine Liste an das Taphold-Ereignis gebunden. Wenn das DOM geladen und das Taphold-Ereignis ausgelöst wird, wird die Eingabeaufforderung „Getippt und gehalten“ angezeigt.


Virtuelle Mausereignisse
Wir bieten eine Reihe „virtueller“ Mausereignisse an, um Maus- und Berührungsereignisse zu abstrahieren. Dadurch können Entwickler Listener für grundlegende Mausereignisse wie Mousedown, Mousemove, Mouseup und Click registrieren. Plug-ins befinden sich in einer Touch-Umgebung und die Plug-ins behalten die Reihenfolge bei, in der sie in einer herkömmlichen Mausumgebung ausgelöst werden. Beispiel: vmouseup wird immer vor vmousedown ausgelöst, vmousedown wird immer vor vmouseup ausgelöst usw. Virtuelle Mausereignisse normalisieren auch die vom Buchschwert ausgegebenen Koordinateninformationen. Daher können die Koordinaten der Eigenschaften pageX, pageY, screenX, screenY, clientX und clientY des Ereignisobjekts in berührungsempfindlichen Geräten verwendet werden.

vmouseover: Behandelt normalisierte Berührungs- oder Mouseover-Ereignisse

vmousedown: Behandelt normalisierte Ereignisse von Touchstart oder Mousedown

vmousemove: Behandelt normalisierte Ereignisse von Touchmove oder Mousemove

vmouseup: Behandelt normalisierte Ereignisse von Touchend oder Mouseup

vclick: verarbeitet normalisierte Ereignisse von Touchend oder Mausklick. Auf Touch-basierten Geräten wird dieses Ereignis nach dem vmouseup-Ereignis ausgelöst.

vmousecancel: Behandelt das normalisierte Ereignis von Touch oder Mouse-Mousecancel

Warnung: Verwenden Sie vclick mit Vorsicht
Seien Sie vorsichtig bei der Verwendung von vclick auf Touch-Geräten. Der Webkit-basierte Browser generiert Mousedown-, Mouseup- und Click-Ereignisse 300 ms nach Auslösung des Touchend-Ereignisses. Die Ziele dieser generierten Mausereignisse werden bei ihrer Auslösung basierend auf dem Ort des Berührungsereignisses berechnet und können in einigen Fällen zu unterschiedlichen Berechnungen auf unterschiedlichen Geräten oder sogar unterschiedlichen Betriebssystemen auf demselben Gerät führen. Dies bedeutet, dass das Zielelement des ursprünglichen Klickereignisses möglicherweise nicht mit dem Zielelement des vom Browser selbst generierten Mausereignisses übereinstimmt.
Wir empfehlen die Verwendung der Click-Methode anstelle der Vclick-Methode in Fällen, in denen die Berührung den Inhalt unterhalb der angeklickten Stelle ändern kann. Zu diesen Ereignissen gehören Seitenübergänge und andere Verhaltensweisen wie Verkleinern/Strecken, die dazu führen können, dass sich der Bildschirm ändert oder der Inhalt vollständig ersetzt wird.

Das standardmäßige Klickverhalten eines Elements abbrechen
Die Anwendung ruft ein vclick-Ereignis auf, um das standardmäßige Klickereignis für ein Element abzubrechen. Auf mausbasierten Geräten entspricht der Aufruf der Methode „preventDefault()“ bei einem vclick-Ereignis dem Aufruf der Methode „preventDefault()“ in der zeitlichen Bubbling-Phase eines echten Klicks. Auf Touch-basierten Geräten ist es etwas komplizierter, da das eigentliche Klickereignis 300 Millisekunden nach dem Auslösen des vclick-Ereignisses ausgelöst wird. Bei Touch-Geräten führt der Aufruf der Methode „preventDefault()“ für das vclick-Ereignis dazu, dass Code im vmouse-Plug-in versucht, das nächste Klickereignis zu erfassen. Gemäß der obigen Einschränkung ist es daher schwierig, ein Berührungsereignis dem entsprechenden Mausereignis zuzuordnen, da ihre Ziele unterschiedlich sind. Daher schlagen Versuche des vmouse-Plugins, über Koordinaten ein passendes Klickereignis zu identifizieren, normalerweise fehl.
In einigen Fällen schlägt die Erkennung des Ziels und der Koordinaten der beiden Ereignisse fehl, was dazu führt, dass das Klickereignis ausgelöst oder die Standardaktion des Elements ausgeführt wird, oder wenn der Inhalt geändert oder ersetzt wird, das Klickereignis anderer Elemente ausgelöst wird. Wenn ein solcher Fehler regelmäßig bei einem bestimmten Element auftritt, empfehlen wir die Verwendung einer klickgesteuerten Auslösung der Aktion.

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage