首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >是否有使用JavaScript取消选择所有文本的功能?

是否有使用JavaScript取消选择所有文本的功能?
EN

Stack Overflow用户
提问于 2011-07-03 20:00:34
回答 4查看 79.9K关注 0票数 119

javascript中是否有一个函数可以取消选择所有选中的文本?我认为它必须是一个简单的全局函数,比如document.body.deselectAll();之类的。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-07-03 20:09:18

试试这个:

代码语言:javascript
复制
function clearSelection()
{
 if (window.getSelection) {window.getSelection().removeAllRanges();}
 else if (document.selection) {document.selection.empty();}
}

这将清除任何主要浏览器中常规HTML内容的选择。它不会清除文本输入中的选择,也不会清除火狐的<textarea>

票数 205
EN

Stack Overflow用户

发布于 2013-02-09 20:44:46

这是一个可以清除任何选择的版本,包括在文本输入和文本区域中:

演示:http://jsfiddle.net/SLQpM/23/

代码语言:javascript
复制
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;
            }
        }
    }
}
票数 28
EN

Stack Overflow用户

发布于 2020-08-07 01:04:21

这对我来说非常简单。

代码语言:javascript
复制
document.getSelection().collapseToEnd()

代码语言:javascript
复制
document.getSelection().removeAllRanges()

致词:https://riptutorial.com/javascript/example/9410/deselect-everything-that-is-selected

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6562727

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档