DDolgy
@DDolgy
Распи***й

Решение this в setinterval?

jsfiddle.net/0ajmmk1d/1

есть проблема между setinterval и this. как ее пофиксить?
  • Вопрос задан
  • 327 просмотров
Решения вопроса 2
k12th
@k12th
console.log(`You're pulling my leg, right?`);
На выбор по вкусу:

$("input").keyup(function () {
    setTimeout(() => {
        $(this).next('input').focus()
    }, 2000);
});

$("input").keyup(function () {
    function onTimeOut() {
        $(this).next('input').focus()
    }
    setTimeout(onTimeOut.bind(this), 2000);
});

$("input").keyup(function () {
    const $input = $(this).next('input');
    setTimeout(function () {
        $input.focus()
    }, 2000);
});

$("input").keyup(function () {
    const $input = $(this).next('input');
    setTimeout(function ($elem) {
        $elem.focus()
    }, 2000, $input);
});


И еще пару-тройку вариантов различной степени тошнотности и хипстерства.

P.S. На данный момент проблема в том, что вы в setTimeout передаете не функцию:)
Ответ написан
Комментировать
chupacabramiamor
@chupacabramiamor
Инженегр-программист
Вижу у вас даже нет представления, того что вы пытаетесь сделать
$("input").keyup(function () {
    setTimeout(function() {
    	$(this).next('input').focus()
    }.bind(this), 2000);
});
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы