jQuery live () vs on () w wersji 1.7+

Znam jQuery 1.7, metoda .live () jest przestarzała. Więc oto co wymyśliłem:

$(document.body).on('click', '#list', function() {
    console.log($(this));
});

Który prawie robi sztuczkę i jest równoważny:

$('#list').live('click', function(){
    console.log($(this));
});

Oboje zwracają#lista Obiekt jQuery, który właśnie chciałem. Problem polega jednak na tym, że przekazuję obiekt jQuery jako drugi parametr zamiast łańcucha (co zdarza się dość często), np .:

var list = $('#list');
$(document.body).on('click', list, function() {
    console.log($(this));
});

Konsola powraca$ (body) obiekt jQuery. Co w tym momencie jest bezużyteczne. ;) Jakieś pomysły?

EDYCJA: Problemem jest tutajNIE jak uzyskać dostęp do tego obiektu $ ('# list') z przykładu 1 i 2, ale jak uzyskać do niego dostęp w przykładzie 3.

questionAnswers(2)

yourAnswerToTheQuestion