Подтвердить что ты не робот

Есть функция отменить выбор всего текста с помощью JavaScript?

Есть ли функция в javascript, чтобы просто отменить выбор всего выделенного текста? Я полагаю, что это была простая глобальная функция, например document.body.deselectAll(); или что-то в этом роде.

4b9b3361

Ответ 1

Попробуйте следующее:

function clearSelection() {
    if ( document.selection ) {
        document.selection.empty();
    } else if ( window.getSelection ) {
        window.getSelection().removeAllRanges();
    }
}

Это очистит выбор в обычном HTML-контенте в любом крупном браузере. Он не очистит выбор в текстовом вводе или <textarea> в Firefox.

Ответ 2

Здесь версия, которая очистит любой выбор, в том числе в текстовых вводах и текстовых областях:

Демо: http://jsfiddle.net/SLQpM/23/

function clearSelection() {
    var sel;
    if ( (sel = document.selection) && sel.empty ) {
        sel.empty();
    } else {
        if (window.getSelection) {
            window.getSelection().removeAllRanges();
        }
        var activeEl = document.activeElement;
        if (activeEl) {
            var tagName = activeEl.nodeName.toLowerCase();
            if ( tagName == "textarea" ||
                    (tagName == "input" && activeEl.type == "text") ) {
                // Collapse the selection to the end
                activeEl.selectionStart = activeEl.selectionEnd;
            }
        }
    }
}