Heim >Web-Frontend >CSS-Tutorial >Wie kann ich ein Dropdown-Menü sowohl auf Touch- als auch auf Desktop-Geräten zuverlässig schließen?

Wie kann ich ein Dropdown-Menü sowohl auf Touch- als auch auf Desktop-Geräten zuverlässig schließen?

DDD
DDDOriginal
2024-12-09 00:00:17698Durchsuche

How Can I Reliably Close a Dropdown on Both Touch and Desktop Devices?

Touch-Geräteunterstützung für Document .click-Funktion

Bei der Arbeit mit responsiven Websites ist es wichtig sicherzustellen, dass alle Funktionen auf beiden Desktops erhalten bleiben und Touch-Geräte. Bestimmte Ereignisse, wie z. B. die Dokument-Klickfunktion, funktionieren jedoch möglicherweise nicht wie erwartet auf Touchscreens.

Problem:

Ein Unternavigation-Dropdown wird mit a umgeschaltet jQuery .click-Ereignis für das übergeordnete Listenelement. Das Klicken auf eine beliebige Stelle auf dem Bildschirm zum Schließen des Dropdown-Menüs funktioniert jedoch auf Touch-Geräten nicht.

Lösung:

Moderne Browser unterstützen jetzt Klickereignisse für Tippinteraktionen, also die Verwendung document .click sollte ausreichen. Ältere Browser erfordern jedoch möglicherweise ein zusätzliches Touch-Ereignis:

$(document).on('click touchstart', function () {
  if ( $(".children").is(":visible")) {
    $("ul.children").slideUp('slow');
  }
});

Erklärung:

Das Touchstart-Ereignis wird sofort ausgelöst, wenn eine Berührung erkannt wird, und bietet so einen Fallback für Geräte die keine Klickereignisse für Taps unterstützen. Das Klickereignis bleibt bestehen, um sowohl Klick- als auch Tippinteraktionen in modernen Browsern zu verarbeiten.

Durch die Kombination beider Ereignisse stellen Sie sicher, dass das Dropdown-Menü durch Klicken oder Tippen auf eine beliebige Stelle auf dem Bildschirm geschlossen werden kann, unabhängig vom verwendeten Gerät .

Das obige ist der detaillierte Inhalt vonWie kann ich ein Dropdown-Menü sowohl auf Touch- als auch auf Desktop-Geräten zuverlässig schließen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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