Простой вопрос, на который я не могу найти ответа: как я могу использовать JavaScript (или jQuery), чтобы отменить выбор любого текста, который может быть выбран на веб-странице? Пользователь EG щелкает и перетаскивает, чтобы выделить немного текста - я хочу, чтобы функция deselectAll () очищала этот выбор. Как мне это написать?
Спасибо за помощь.
javascript
jquery
man1
источник
источник
document.selection
подразумевает существованиеempty()
метода этого. Вы протестировали этот метод во всех остальных случаях, так что можете проверить иempty
в последнем случае.window.getSelection().removeAllRanges();
отлично работает в IE (Edge) и Safari.Лучше всего протестировать нужные вам функции напрямую:
источник
Состояние дел по отмене отбора, 2014 г.
Я провел собственное исследование. Вот функция, которую я написал и использую сейчас:
По сути,
getSelection().removeAllRanges()
в настоящее время поддерживается всеми современными браузерами (включая IE9 +). Очевидно, что это правильный метод продвижения вперед.Учтены проблемы совместимости:
getSelection().empty()
document.selection.empty()
Обновить
Вероятно, неплохо было бы завершить эту функцию выбора для повторного использования.
Я сделал эту вики-страницу сообщества, чтобы вы, люди, могли добавлять к ней функции или обновлять вещи по мере развития стандартов.
источник
Вот принятый ответ, но в двух строках кода:
Только проверить , я не делаю это для существования removeAllRanges - но AFAIK нет браузера , который имеет либо
window.getSelection
или ,document.selection
но не имеет либо.empty
или.removeAllRanges
для этого свойства.источник
window.getSelection () позволяет вам получить доступ к выделенному тексту, оттуда вы можете сделать несколько вещей, чтобы управлять им ..
Подробнее: выбор разработчика Mozilla DOM
источник
добавьте это в свой скрипт, чтобы предотвратить щелчок правой кнопкой мыши и выделение текста.
Исключения можно добавлять в var 'om'.
источник