Window.getSelection

使用 window.getSelection() 方法获取鼠标划取部分的起始位置和结束位置

返回一个  Selection 对象,表示用户选择的文本范围或光标的当前位置。

const selection = window.getSelection() ;
  • selection 是一个 Selection 对象。 如果想要将 selection 转换为字符串,可通过连接一个空字符串("")或使用 String.toString() 方法。
    function foo() {
        let selObj = window.getSelection(); 
        console.log(selObj);
        let selRange = selObj.getRangeAt(0);
        // 其他代码
    }

    在  JavaScript中,当一个对象被传递给期望字符串作为参数的函数中时(如 window.alert 或 document.write),对象的toString()方法会被调用,然后将返回值传给该函数。

  • 参考:https://www.cnblogs.com/strangerqt/p/3745426.html

    //Firefox, Safari, Opera下,可以用window.getSelection(), 参考MDC
            //IE下,可以用document.selection.createRange().text, 参考MSDN放在一起:
            //注意:当选中的是input[type=text]里面的值时getSelection在Firefox和Opera下无法获取到选取值
            //,在Safari下没问题。

            function getSelectionText() {
                if(window.getSelection) {
                return window.getSelection().toString();
                } else if(document.selection && document.selection.createRange) {
                return document.selection.createRange().text;
                }
            return '';
            }

  • function test(){
        var txt = window.getSelection?window.getSelection():document.selection.createRange().text;
        alert(txt)    
    }
    document.onmouseup = test
    移除选中内容:
    html:
    <div>你不能选中我,不信你试试</div>
    js2:
    function test(){
        window.getSelection ? window.getSelection().removeAllRanges() : document.selection.empty();
    }
    document.onmouseup = test

     

posted @ 2017-11-18 14:23  zmoony  阅读(4450)  评论(0编辑  收藏  举报