Допустим, у вас есть этот код
$('a.clickers').live('click', function() {
///...
});
что вы хотели бы сделать, это выделить элементы при нажатии. Функции обработчика в jquery всегда имеют свой контекст, установленный на элемент, который они обрабатывают в данный момент (то есть этот == элемент привязки, на который вы щелкнули). Поэтому нам нужно использовать это, и вызывать die на этом индивидуально, вот так.
$('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);
}
});
});
Надеюсь, это близко к тому, что вы искали.