JavaScript: Удалить текущее выделение мыши со страницы?

StackOverflow https://stackoverflow.com/questions/1643297

  •  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();
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top