jQuery - Appeler $(this) à l'intérieur de la fonction Ajax
Lorsque l'on souhaite appeler l'élément $(this) dans une
fonction Ajax à la suite d'un événement, une erreur survient. En
effet, dans la fonction callback, "this" se réfère à l'objet
"jqXHR", et non à l'élément sur lequel l'événement a été
rattaché.
Heureusement, il existe des solutions simples pour pallier à ce petit désagrément. La première consiste à utiliser l'option "context" :
$("input").click(function()
{
$.ajax({
//...
context: this,
success: function(json) {
// `this` se réfère bien à 'input'
}
});
});
Utilisation de l'élément de "$.proxy" :
$.ajax({
//...
success: $.proxy(function(json) {
// `this` se réfèrera au second argument de `$.proxy`
}, this)
});
Une troisième solution :
var element = this;
$.ajax({
//...
success: function(json) {
// `this` se réfère à l'objet jQXHR
// `element` se réfère à l'élément DOM
// `$(element)` se réfère à l'objet jQuery de notre élément
}
});
30 décembre 2016 - Wakonda - jQuery
Rechercher
Tags
Articles récents
- Quel est le but de l'attribut "role" en HTML ?
- Changer la couleur de l'espace réservé (placeholder)
- Attention à cet email d’arnaque !
- Supprimer un fichier d'un référentiel Git sans le supprimer du système de fichiers local
- JS - Récupérer le dernier élément d'un tableau
- JS - Prévisualiser une image avec son upload
- PHP - Convertir une chaîne de caractères en un booléen
- PHP : Vérifier si une session a déjà été démarrée
- Créer un APK ou un AAB en ligne de commandes
- L'opérateur !! en Javascript