JavaScript: Удалить текущее выделение мыши со страницы?
-
10-07-2019 - |
Вопрос
Допустим, я выделил текст на странице с помощью мыши. Как удалить весь выделенный текст с помощью JavaScript?
Спасибо.
Решение
Я понял вопрос немного по-другому. Я считаю, что вы хотите знать, как удалить выделенный текст из документа, и в этом случае вы можете использовать:
function deleteSelection() {
if (window.getSelection) {
// Mozilla
var selection = window.getSelection();
if (selection.rangeCount > 0) {
window.getSelection().deleteFromDocument();
window.getSelection().removeAllRanges();
}
} else if (document.selection) {
// Internet Explorer
var ranges = document.selection.createRangeCollection();
for (var i = 0; i < ranges.length; i++) {
ranges[i].text = "";
}
}
}
Если вы просто хотите очистить саму подсветку, а не удалять подсвечиваемый текст, вам нужно выполнить следующее:
function clearSelection() {
if (window.getSelection) {
window.getSelection().removeAllRanges();
} else if (document.selection) {
document.selection.empty();
}
}
Другие советы
В IE 4 и старом Netscape был метод, позволяющий сделать именно это ... Это больше не правильно (и не поддерживается).
Лучше всего было бы использовать Javascript для фокусировки () на объекте, а затем размытия () - эффективно, как щелчок вдали от объекта.
document.getElementById("someObject").focus();
document.getElementById("someObject").blur();
Не связан с StackOverflow