jQuery live () vs on () in 1.7+
Ab jQuery 1.7 ist die Methode .live () veraltet. Das habe ich mir also ausgedacht:
$(document.body).on('click', '#list', function() {
console.log($(this));
});
Was macht den Trick und ist äquivalent zu:
$('#list').live('click', function(){
console.log($(this));
});
Sie geben beide die zurück#Liste jQuery-Objekt, was ich wollte. Das Problem ist jedoch, wenn ich ein jQuery-Objekt als zweiten Parameter anstelle eines Strings übergebe (was ziemlich oft vorkommt), zB:
var list = $('#list');
$(document.body).on('click', list, function() {
console.log($(this));
});
Die Konsole kehrt zurück$ (body) jQuery-Objekt. Was in diesem Punkt nutzlos ist. ;) Irgendwelche Ideen?
EDIT: Das Problem ist hierNICHT wie man auf das betroffene Objekt $ ('# list') aus Beispiel 1 und 2 zugreift, aber wie man darauf in Beispiel 3 zugreift.