Maison  >  Article  >  interface Web  >  Comment empêcher le défilement de la page vers le haut après des clics sur un lien déclenchés par JavaScript ?

Comment empêcher le défilement de la page vers le haut après des clics sur un lien déclenchés par JavaScript ?

Linda Hamilton
Linda Hamiltonoriginal
2024-10-26 05:25:02574parcourir

 How to Prevent Page Scrolling to Top After JavaScript-Triggered Link Clicks?

Comment empêcher le défilement des pages vers le haut lors des clics sur des liens déclenchés par JavaScript

De nombreux développeurs rencontrent un problème où les pages Web défilent vers le haut lorsque un lien est cliqué qui active JavaScript. Cela peut être frustrant si l'action souhaitée consiste à effectuer une opération autre que la navigation.

Pour résoudre ce problème, vous devez empêcher l'action par défaut de l'événement de clic (navigation vers la cible du lien) de se produire. Il existe deux méthodes courantes pour y parvenir :

Option 1 : event.preventDefault()

Dans cette approche, vous appelez la méthode .preventDefault() de l'événement objet transmis à votre gestionnaire d’événements. Cela arrête le comportement de navigation natif du navigateur. Voici un exemple utilisant jQuery :

<code class="javascript">$('#ma_link').click(function($e) {
    $e.preventDefault();
    // Perform your JavaScript action here
});</code>

Option 2 : return false

Alternativement, renvoyer false à partir d'un gestionnaire d'événements jQuery déclenche automatiquement à la fois event.stopPropagation() et event.preventDefault(). Cela empêche à la fois la propagation et la navigation par défaut :

<code class="javascript">$('#ma_link').click(function(e) {
     // Perform your JavaScript action here
     return false;
});</code>

Pour les événements DOM non jQuery, vous pouvez également utiliser cette approche sur les navigateurs modernes, car elle fait partie de la spécification HTML 5. Cependant, pour les navigateurs plus anciens, il est recommandé d'appeler explicitement .preventDefault() pour une compatibilité maximale.

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!

Déclaration:
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