В jQuery, как мне сделать что-то после завершения события - PullRequest
0 голосов
/ 12 июня 2019

Вариант использования: У меня есть таблица, в которую пользователи вводят строки заказа. Таблица представляет собой список продуктов, они могут листать вверх и вниз по таблице. Если они ввели количество в один продукт, а затем на страницу вниз, их необходимо сфокусировать на поле ввода в том же столбце, с которого они начали, но в новой строке страница переместилась вниз.

Проблема: Страница вниз меняет местоположение при наведении. Таким образом, я могу определить, какая строка имеет состояние наведения, и изменить фокус на правильный столбец в этой строке. Мне нужен код для выполнения после завершения страницы вниз и новой строки: hover.

Но поскольку страница вниз является асинхронной, получение строки с состоянием наведения в моем обработчике событий возвращает текущую строку, а не ту, которая будет иметь: hover после завершения страницы вниз. Как мне написать обработчик событий страницы вниз, чтобы код выполнялся после завершения страницы вниз?

Прикрепление обещания к таблице с кодом, который выполняется после завершения события типа keydown, не работает. Он запускается до того, как у новой строки будет: hover state.

1 Ответ

0 голосов
/ 12 июня 2019

Вы можете использовать document.activeElement, чтобы получить элемент, имеющий фокус, получить из него столбец и установить фокус с помощью $(columnSelector).focus() для столбца вновь заполненных записей.

Другой способ заключается в том, чтобы иметь обработчик события фокуса и поддерживать имя последнего сфокусированного столбца в переменной.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...