Вы будете желая .blur();? функция . Всякий раз, когда элемент имеет «фокус» и пользователь покидает «целенаправленный» пункт «размытие» вызывается и посылает событие обратно к элементу. пример для подражания.
if(focusedElement == ""){
//if our focused element is empty
$('#text2display').live('blur', function(){
//when the target loses focus, we invoke blur, the next line focuses again.
//it's also a best practice to do something like fading in the border,
$("#text2display").focus();
});
}
Кроме того, если я могу предложить , было бы неплохо сообщить пользователю, что их фокус вернулся к этому элементу. Лучший способ сделать это - сделать что-то вроде добавления «красной» границы, а затем погасить границу. Один из способов: ->
if(focusedElement == ""){
//if our focused element is empty
$('#text2display').live('blur', function(){
//when the target loses focus, we invoke blur, the next line focuses again.
//it's also a best practice to do something like fading in the border,
$("#text2display").focus(function(){
$(this).animate({
//when the element has been re-focused, we'll give it a red border briefly.
borderColor: '#ff0000';
}, function(){
//once the animation completes, fade the border out
$(this).animate({ borderColor: 'transparent' }, 2000);
}
);
});
});
}
Кроме того, поскольку мы не хотим изменения размера проблемы, нам нужно добавить некоторые CSS наши входы
input{
border:1px solid transparent;
}
Это должно хорошо работать для вас.
Какой браузер это будет работать? Это на мобильном устройстве или на рабочем столе? –