jquery, сделать корректно autofocus для input
Я пытаюсь сделать autofucus, когда пользователь попадает на шаг 2, чтобы автоматически был автофокус на поле и мог сразу же писать в этом поле текст (не кликая на input) но это не работает, мне серавно приходиться кликать на input, чтобы начать писать текст
if(n === 2){
console.log('1q');
jQuery('#tell-more-textarea').attr('autofocus','autofocus');
}
Ответы (1 шт):
Автор решения: zhurof
→ Ссылка
Можно прямо задать состояние фокуса для поля:
var currentStep = 0;
$('button').click(function(){
currentStep++;
$('.step-form__step').hide().eq(currentStep).show().find('input,select,textarea').eq(0).focus();
})
input,select,textarea{
display:block;
margin:0 0 10px;
}
input:focus,
select:focus,
textarea:focus{
outline: none;
box-shadow: 0 0 10px red;
}
.step-form__step:nth-child(n+2){
display: none;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="step-form">
<div class="step-form__body">
<div class="step-form__step">
<p>olololo azazaaza ? ? ? ?</p>
</div>
<div class="step-form__step">
<textarea></textarea>
<input type="text" placeholder="ololo">
</div>
<div class="step-form__step">
<select>
<option>нет</option>
<option>нет</option>
</select>
<input type="text" placeholder="ololo">
</div>
</div>
<button>Туда →</button>
</div>