Maison > interface Web > tutoriel CSS > Comment puis-je fermer de manière fiable une liste déroulante sur les appareils tactiles et de bureau ?

Comment puis-je fermer de manière fiable une liste déroulante sur les appareils tactiles et de bureau ?

DDD
Libérer: 2024-12-09 00:00:17
original
700 Les gens l'ont consulté

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

Prise en charge des appareils tactiles pour la fonction Document .click

Lorsque vous travaillez avec des sites Web réactifs, il est crucial de garantir que toutes les fonctionnalités restent intactes sur les deux ordinateurs de bureau. et les appareils tactiles. Cependant, certains événements, tels que la fonction document .click, peuvent ne pas fonctionner comme prévu sur les écrans tactiles.

Problème :

Une liste déroulante de sous-navigation est basculée à l'aide d'un Événement jQuery .click sur l'élément de la liste parent. Cependant, cliquer n'importe où sur l'écran pour fermer la liste déroulante ne fonctionne pas sur les appareils tactiles.

Solution :

Les navigateurs modernes prennent désormais en charge les événements de clic pour les interactions tactiles, donc en utilisant le document .click devrait suffire. Cependant, les anciens navigateurs peuvent nécessiter un événement tactile supplémentaire :

$(document).on('click touchstart', function () {
  if ( $(".children").is(":visible")) {
    $("ul.children").slideUp('slow');
  }
});
Copier après la connexion

Explication :

L'événement touchstart se déclenche immédiatement lorsqu'un contact est détecté, fournissant ainsi une solution de secours aux appareils. qui ne prennent pas en charge les événements de clic pour les taps. L'événement de clic reste en place pour gérer les interactions par clic et par pression sur les navigateurs modernes.

En combinant les deux événements, vous garantissez que la liste déroulante peut être fermée en cliquant ou en appuyant n'importe où sur l'écran, quel que soit l'appareil utilisé. .

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal