jQuery live () vs on () em 1.7+

Eu sei que a partir do jQuery 1.7, o método .live () está obsoleto. Então é isso que eu criei:

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

Que praticamente faz o truque e é equivalente a:

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

Ambos retornam o#Lista Objeto jQuery, que é o que eu queria. O problema é no entanto quando eu passar um objeto jQuery como um segundo parâmetro, em vez de string (o que acontece com bastante frequência), por exemplo:

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

O console retorna$ (corpo) objeto jQuery. Que é inútil nesse ponto. ;) Alguma ideia?

EDIT: O problema aqui éNÃO como acessar o objeto afetado $ ('# list') do exemplo 1 e 2, mas como acessá-lo no exemplo 3.

questionAnswers(2)

yourAnswerToTheQuestion