ngTagsInput - Как заблокировать удаление тегов через 'Backspace' - PullRequest
0 голосов
/ 10 апреля 2020

Библиотека ngTagsInput не имеет возможности отключить удаление тегов с помощью клавиши Backspace.

Добавление обычного события keydown будет недостаточно, поскольку вам необходимо перехватить существующее событие не добавляет новый, поэтому любая попытка event.preventDefault() не будет работать.

Есть идеи, как его отключить?

1 Ответ

0 голосов
/ 10 апреля 2020

Решение, которое я придумал, заключается в коротком замыкании функции on-tag-removing следующим образом:

        # Weird hack to prevent backspace deleting of tags
        # "selected" is the red treatment you get (early warning)
        # to indicate that the next backspace will delete the tag.
        # TODO: It'd be nice to have this NOT throw:
        # 'Possibly unhandled rejection: undefined'
        # But...could easily live with this in the console.
        if document.querySelector('.tag-item.selected')
          return false

ПРИМЕЧАНИЕ Сделайте одолжение и убедитесь, что ваша версия ngTagsInput соответствует текущей версия онлайн-документов, так как функция on-tag-removing была изменена для обработки асинхронных / обещаний по-разному. Этот пример работает с использованием текущей новейшей версии.

ПРИМЕЧАНИЕ Если вы хотите, чтобы другие экземпляры ngTagsInput разрешали удаление, вам может потребоваться более точная область действия querySelector!

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