Activité-Paranormale


Red devil Information

Publicité

Rechercher

Développement

Apportez vos talents de codeur !

Développer

Visiteurs

Citations

Random quotation
La loyauté et la jalousie font la grandeur des chiens et le malheur des saints.
(Lao She)

Événements - 3 juillet

Event Calendrier

Validation

Valid XHTML 1.0 Transitional Valid CSS!

Crystal ballTour de magie

AbductionjQuery - 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
    }
});

 



jQuery


Publicité