Учтите это:
function inputSwap( clss ) {
var j = $( clss );
j.delegate( 'li', 'click', function () {
$( this ).find( 'label' ).hide();
$( this ).find( 'input' ).focus();
});
j.delegate( 'input', 'focus', function () {
$( this ).prev( 'label' ).hide();
});
j.delegate( 'input', 'blur', function () {
$( this ).prev( 'label' ).toggle( !this.value );
});
}
Живая демоверсия: http://jsfiddle.net/nbkcP/
Использование delegate
обеспечивает лучшую производительность, поскольку вы не привязываете обработчики щелчка / фокуса / размытия непосредственно к соответствующим элементам. Вместо этого jQuery привязывает только один"живой" обработчик к каждому элементу .step_1
.