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

#javascript #select #highlight

#javascript #выберите #выделение

Вопрос:

Допустим, я выделяю некоторый текст на странице с помощью мыши. Как я могу удалить весь выделенный текст с помощью JavaScript?

Спасибо.

Ответ №1:

Я понял вопрос немного по-другому. Я полагаю, вы хотите знать, как удалить выделенный текст из документа, и в этом случае вы могли бы использовать:

 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();
    }
}
  

Комментарии:

1. На самом деле я хочу удалить саму отображаемую подсветку.

Ответ №2:

В IE 4 и старом Netscape раньше был способ сделать именно это… Это больше не подходит (и не поддерживается).

Лучшим предположением было бы использовать Javascript для фокусировки () на объекте, а затем также размытие () — эффективно, как щелчок в сторону от объекта.

 document.getElementById("someObject").focus();
document.getElementById("someObject").blur();