Не работает .focus()
В консоли console.log отрабатывает, а в input курсор не появляется, пока сам туда не кликнешь. Проверял в: Chrome, Yandex, Mozilla, IE11 на Windows 10
$('.fa-search').click(function() {
$('#searchField').focus();
console.log('Focus Pocus');
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form role="search" method="get" class="search-form" action="<?php echo esc_url( home_url( '/' ) ); ?>">
<input id="searchField" type="search" class="search-field" value="<?php echo esc_attr( get_search_query() ); ?>" name="s">
</form>
<i class="fa fa-search" aria-hidden="true">Search</i>
Работает нормально ваш пример кода.
$('.fa-search').click(function() {
setTimeout(function() {
$('#searchField').focus();
console.log('Focus Pocus');
}, 0);
});
$('.fa-search-2').click(function() {
$('#searchField').focus();
console.log('Focus Pocus');
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form role="search" method="get" class="search-form" action="">
<input id="searchField" type="search" class="search-field" value="лагутенко" name="s">
</form>
<i class="fa fa-search" aria-hidden="true">icon</i>
<i class="fa fa-search-2" aria-hidden="true">icon 2</i>
Сборка персонального компьютера от Artline: умный выбор для современных пользователей