focus() не берет курсор в поле
Я пытаюсь заставить курсор вернуться к своему предыдущему вводу, когда значение неверно. Вот более простая версия скрипта, который я использую:
$('input:first-child').blur(function(e){
console.log('here');
$('input:first-child').focus();
});
Это работает, когда я щелкаю по другому элементу, чтобы сфокусироваться, но не когда я щелкаю по телу или другому элементу div. Зачем? У меня есть дело jsfiddle: http://jsfiddle.net/leyou/Zabn4/37/
Изменить: я тестировал на Chrome/Win7, но с Firefox это кажется хуже. Это полностью игнорирует фокус ()
2 ответа
Решение
Это происходит потому, что размытие еще не завершено. Сделайте это с небольшим таймаутом, и это будет работать:
$('input:first-child').blur(function(e){
setTimeout(function () { $('input:first-child').focus(); }, 20);
});
Попробуй это
$('input:first-child').blur(function(e){
console.log('here');
setTimeout(function() { $('input:first-child').focus(); }, 500);
});