Получение контроля над тем, где каретка отображалась последней - PullRequest
0 голосов
/ 02 марта 2020

Я создаю приложение, в котором требуется добавить или удалить строки в таблицу HTML.

Я запрограммировал функцию добавления строки в таблицу в jQuery, например:

        function othaddrAddLine(evt) {
            var oarow = $("span#othaddrRowToAdd > table > tbody").html();
            $("div#tabs-othaddrs > table#TableOthAddr > tbody").append(oarow);
        }

        $(document).ready(function () {
            $("button#othaddr-add").click(othaddrAddLine);
            $("button#othaddr-del").click(othaddrDelLine);
        });

где этот span содержит скрытый текст.

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

Как я могу запрограммировать это в jQuery или JavaScript? Можно ли получить элемент управления вводом текста там, где была каретка, чтобы получить родительский элемент <tr>, а затем удалить строку.

Спасибо.

1 Ответ

1 голос
/ 02 марта 2020

Я бы сделал это следующим образом:

  • Добавьте слушатель события фокуса ко всем входам, которые есть в вашей таблице, включая те, которые вы добавляете динамически.
  • Всякий раз, когда один из этих элементов находится в фокусе, сохраняйте ссылку на него в переменной. Это будет «последний» выделенный элемент.
  • Если пользователь нажимает кнопку «Удалить», вы можете использовать ссылку на этот «последний» выделенный ввод и получить его родительский , чтобы удалить его.

Надеюсь, это поможет.

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