permet de dire que vous avez ce code
$('a.clickers').live('click', function() {
///...
});
ce que vous voulez faire est des éléments individuels quand ils sont cliqués. Les fonctions de gestionnaire de jquery ont toujours leur contexte défini sur l'élément qu'elles sont en train de traiter (c'est-à-dire sur cet élément d'ancrage == sur lequel vous avez cliqué). Nous devons donc utiliser cela, et appeler mourir dessus individuellement comme ça.
$('a.clickers').live('click', function clickHandler() {
// keep a reference to the link that is clicked on so we can refer to it
// later in the ajax handler.
var elementClickedOn = this;
// removes the live event handler
// from just this link
$(elementClickedOn).die('click', clickHandler);
// your code
// ajax call, im not 100% familiar with ajax in jquery
// but you get the gist.
$.ajax(server, function ajaxHandler(responseargs) {
if (responseargs.reEnableConditionMet) {
//renable the element's live event handler, by referring to the
//original function
$(elementClickedOn).live('click', clickHandler);
}
});
});
J'espère que c'est proche de ce que vous cherchiez.
Je me demande si cela est conseillé: "Pour que .die() fonctionne correctement, le sélecteur utilisé doit correspondre exactement au sélecteur initialement utilisé avec .live()." [docs] (http://api.jquery.com/die/) – Casebash
ce message a 2 ans. ça a probablement marché à l'époque. – barkmadley