2013-04-02 10 views
0
<input id="blur-test" type="text"/> 

$('#blur-test').blur(function() { $(this).hide(); }); 
$('#blur-test').change(function() { alert('ok'); }); 
$('#blur-test').keydown(function (e) { 
    if (e.which == 13) { $(this).blur(); } 
}); 

Когда я меняю содержимое поля, а затем сфокусирую его, щелкнув мышью, все в порядке (появляется предупреждение). Проблема возникает при нажатии «enter». Событие Blur запускается программно, и поле скрывается, но change() не работает. Он нанимает только тогда, когда я нажимаю на странице или использую вкладку. Похоже, вход не потерял фокуса. Почему так? И как я должен правильно вызвать размытие?change() проблемы, когда blur() скрывает поле

P.S. Когда тело функции размытия пуст, оно отлично работает.

+1

Работает хорошо для меня, появляется предупреждение, и поле скрывается при попадании -> [** FIDDLE **] (http://jsfiddle.net/UaCv2/) – adeneo

+0

Ну, вы правы .. . спасибо. Возможно, мне нужно обновить jquery для моего проекта. Но на скрипке он работает даже с выбранной версией 1.6.4. Смешение ... – Tomy

ответ

1

Обновление jQuery до 1.9.1 устраняет проблему. Ура!

Смежные вопросы