Тогда надо писать что-то вроде
window.initHandlers = [];
$( collection ).each(function ( i ) {
$( this ).hover(function () {
window.initHandlers[i] = setTimeout( handler, 2000 );
var $this = this;
function handler() {
alert( $this ); // Используем выбранный jQuery-объект внутри другой функции
}
}, function () {
clearTimeout( window.initHandlers[i] );
});
});
Хотя и первый вариант сработает, если элементы не вложены друг в друга.