jQuery live () vs on () en 1.7+

Sé que a partir de jQuery 1.7, el método .live () está en desuso. Así que esto es lo que se me ocurrió:

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

Que prácticamente hace el truco y es equivalente a:

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

Ambos devuelven el#lista Objeto jQuery, que es lo que quería. El problema es, sin embargo, cuando paso un objeto jQuery como segundo parámetro, en lugar de una cadena (que sucede con bastante frecuencia), por ejemplo:

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

La consola vuelve.$ (cuerpo) Objeto jQuery. Lo cual es inútil en ese punto. ;) ¿Algunas ideas?

EDITAR: El problema aquí esNO cómo acceder al objeto afectado $ ('# list') del ejemplo 1 y 2, pero cómo acceder a él en el ejemplo 3.

Respuestas a la pregunta(2)

Su respuesta a la pregunta