Étant donné que l'opération n'est pas exécutée, nous devons savoir quand l'utilisateur a commencé l'opération et peut utiliser event.isDefaultPrevented()
pour déterminer si cette méthode est déclenchée par l'appel du gestionnaire d'événements. Cela peut être utilisé pour déclencher des appels de fonction. Cela peut également être utile pour utiliser des URL dynamiques de XHR dans jQuery, comme href="index.php?page=contact"
au lieu de contact.php
pour obtenir une page contenant un module. Vous pouvez également consulter l'option de réécriture Mod, qui offre également cette fonctionnalité et les avantages SEO. Fonction de l'événement JQuery Stop. Si vous utilisez $(document).bind("keydown keypress", function(event)
, veuillez noter que e.preventDefault()
ne fonctionnera pas, veuillez essayer event.preventDefault()
. Parfois, vous avez un hyperlien qui doit être un hyperlien, mais vous ne voulez pas qu'il traite et ouvre le lien, mais vous voulez simplement appeler une fonction JavaScript. Heureusement, il existe une fonction dans jQuery qui peut arrêter les opérations d'hyperlien.
jQuery empêcherdFault () Fonction Démonstration Exemple
Exemple 1: Bloquer et capturer l'hyperlien cliquent
$("a").click(function(event) { event.preventDefault(); $('<div> <p>') .append('默认 ' + event.type + ' 已阻止') .appendTo('#log'); }); </p> <p> <strong> Exemple 2: bouton de soumission de formulaire de bloc </strong> </p> <pre class="brush:php;toolbar:false">$('#myform').submit(function(event) { event.preventDefault(); var self = this; window.setTimeout(function() { self.submit(); }, 2000); });
Exemple 3: retarder la cible hyperlienne après effet d'animation
$("#ELEMENT_WHICH_AFFECT_THE_SLIDEUP") .click(function(event){ event.preventDefault(); // 阻止链接重定向 var time = 1000; // slideup 效果的时间 var url = $(this).attr("href"); // 选择用于通过 JavaScript 重定向的 URL $("#ELEMENT_TO_SLIDE_UP").slideUp(time); // 效果 window.setTimeout(function(){document.location.href=url;}, time); // 超时并在效果完成后等待 return -1; });
Exemple 4: Désactivez le bouton de rouleau du clavier
$(document).keydown(function(event){ // 向下移动 if(event.keyCode == '40'){ event.preventDefault(); var posY = $('#'+selectedTxtID).css('top'); posY = parseFloat(posY); var newPosY = posY + 1; $('#'+selectedTxtID).css('top', newPosY+'px'); } });
Cette fonction peut être utilisée non seulement pour les hyperliens, mais aussi pour tout élément avec l'action par défaut que vous souhaitez bloquer.
jQuery empêcherdfault () Méthode FAQ (FAQ)
Quelle est la fonction principale de la méthode empêchée de jQuery ()?
La méthode preventDefault()
dans jQuery est principalement utilisée pour empêcher le fonctionnement des événements par défaut de se produire. Par exemple, si vous avez un lien sur votre page Web et que vous ne voulez pas qu'il redirige vers une autre page lorsque vous cliquez sur, vous pouvez utiliser la méthode preventDefault()
pour bloquer cette action par défaut. Cette méthode est particulièrement utile lorsque vous souhaitez contrôler les opérations d'événements dans votre code, fournissant un niveau d'interactivité plus élevé à votre application Web.
Quelle est la différence entre la méthode empêchéedefault () et la méthode stoppropagation ()?
Bien que les deux méthodes soient utilisées pour contrôler les opérations d'événements, leurs objectifs sont différents. La méthode preventDefault()
empêche l'événement de se produire, tandis que la méthode stopPropagation()
empêche l'événement de bouillonner dans l'arbre Dom, empêchant tout gestionnaire parent de recevoir des notifications d'événements. En d'autres termes, preventDefault()
gère le comportement par défaut des éléments, tandis que stopPropagation()
gère le flux d'événements dans la hiérarchie DOM.
Puis-je utiliser la méthode empêchéedalt () avec tous les événements?
Non, preventDefault()
La méthode ne peut pas être utilisée avec tous les événements. Il ne fonctionne qu'avec des événements avec des actions par défaut à bloquer. Par exemple, il peut être utilisé avec l'événement tagué "cliquez" pour empêcher l'action par défaut de naviguer vers la nouvelle URL. Cependant, il ne peut pas être utilisé avec des événements personnalisés sans actions par défaut.
Comment vérifier si la méthode empêchéedault () a été appelée pour l'événement?
Vous pouvez utiliser la méthode isDefaultPrevented()
pour vérifier si preventDefault()
est appelé sur l'événement. Cette méthode renvoie une valeur booléenne - true si preventDefault()
est appelée, sinon faux.
Puis-je utiliser la méthode empêchéedaLault () dans Internet Explorer?
Oui, vous pouvez utiliser la méthode preventDefault()
dans Internet Explorer. Cependant, les versions plus anciennes d'Internet Explorer (IE8 et ci-dessous) ne prennent pas en charge cette méthode. Pour ces versions, vous pouvez utiliser la propriété returnValue
de l'objet Event pour obtenir le même effet.
Que se passe-t-il si j'appelle prevedDefault () sur un événement non orienté?
Si vous appelez preventDefault()
sur un événement Uncencelable, la méthode sera invalide. Un événement non orienté fait référence à un événement qui ne peut pas être bloqué par son opération par défaut. Vous pouvez utiliser la propriété cancelable
de l'objet de l'événement pour vérifier si l'événement est annulé.
Puis-je appeler à empêcher dedFault () plusieurs fois pour le même événement?
Oui, vous pouvez appeler preventDefault()
plusieurs fois pour le même événement, mais il n'aura pas d'effets supplémentaires. Une fois l'action par défaut de l'événement bloqué, appeler preventDefault()
à nouveau ne changera rien.
Puis-je utiliser EmptiserDefault () avec des événements de clavier?
Oui, vous pouvez utiliser preventDefault()
avec des événements de clavier. Par exemple, vous pouvez bloquer l'action par défaut de l'événement "Keydown" pour empêcher les caractères d'entrer dans les champs de texte.
Comment utiliser PARVERDEFAULT () dans une instruction conditionnelle?
Vous pouvez utiliser preventDefault()
dans l'instruction conditionnelle à contrôler lorsque les événements doivent être bloqués. Par exemple, si certaines vérifications de vérification échouent, vous pouvez empêcher la soumission du formulaire.
Puis-je utiliser EmptiserDefault () avec des événements tactiles?
Oui, vous pouvez utiliser preventDefault()
avec des événements tactiles. Par exemple, vous pouvez bloquer l'action par défaut de l'événement "Touchstart" pour empêcher la reconnaissance des gestes tactiles.
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!