Quand dois-je utiliser return false dans la fonction jquery?
j'ai trouvé beaucoup de fonctions comme ceci:
$(function() {
$("body a").click(function() {
alert(this.innerHTML);
return false;
});
});
Quelle est la différence entre this
et $(this)
en jquery?
ils ont tous une ligne return false;
- je ne sais pas quand je dois utiliser return false
dans la fonction jquery et ne sais pas à quoi ça sert?
3 réponses
Selon jQuery Événements: Arrêt (Mis)à l'Aide de Return False (lien archivé), returning false
exécute trois tâches lorsqu'il est appelé:
- événement.preventDefault ();
- événement.stopPropagation ();
- arrête l'exécution du callback et retourne immédiatement lorsqu'il est appelé.
La seule action nécessaire pour annuler le comportement par défaut est preventDefault()
. Délivrance return false;
peut créer du code fragile. Généralement vous voulez juste ceci:
$("a").on( 'click', function (e) {
// e == our event data
e.preventDefault();
});
et deuxièmement "ceci" est un élément DOM en javascript et "$(ceci) " est un élément jQuery qui fait référence à l'élément du DOM. Lire plus sur le sujet jQuery est ceci: demystified.
vous cliquez sur une ancre, dont le comportement par défaut est de naviguer quelque part. Retourner false peut être une tentative d'empêcher la navigation et de garder l'utilisateur sur la page/vue actuelle.
Dans le champ d'application de la gestionnaire de clic, this
est L'élément DOM déballé. $(this)
enveloppements et renvoie un élément jQuery. Il est de pratique courante de l'envelopper une fois et de le rendre disponible dans la portée comme that
souvent $this
(préfixer les noms de variables avec $ est une convention pour indiquer un élément jQuery).
votre exemple pourrait donc être écrit comme
$(function() {
$("body a").click(function() {
var $this = $(this);
alert($this.html());
return false;
});
});