Я использую функцию jQuery live()
, чтобы изменить цвет границы ввода текста в форме, чтобы дать пользователям лучшее представление о том, какой элемент они вводят в данный момент. Мне проще использовать live()
над bind()
поскольку есть определенные случаи, когда новые входы формы вставляются на страницу динамически.
Из чтения документации jQuery для live()
Я понимаю, что каждый обработчик должен возвращать false, чтобы предотвратить другие обработчикиот выполнения.Независимо от того, неправильно я понимаю, что это на самом деле означает, вот код, который я должен добавить и удалить цвет границы из ввода формы.
$('input.highlight').live({
focus: function() {
$(this).parent('span').addClass('input-focus');
return false;
},
blur: function() {
$(this).parent('span').removeClass('input-focus');
return false;
}
});
Это прекрасно работает в Chrome и Safari, за исключением Firefox.мигающий текстовый курсор не появляется внутри ввода формы, когда он имеет фокус.Если я удаляю return false;
, это показывает.Может ли это быть ошибкой jQuery, с которой я столкнулся?