window.getSelection ? window.getSelection().removeAllRanges() : document.selection.empty();

 

关键的api 是 window.getSelection()

 var testDiv = document.getElementById("testDiv");

    testDiv.onmouseup = function(){

        var selectionObj = null, rangeObj = null, selectedText = "", selectedHtml = "";

        if(window.getSelection){

            selectionObj = window.getSelection();

            selectedText = selectionObj.toString();

            rangeObj = selectionObj.getRangeAt(0);

            var docFragment = rangeObj.cloneContents();

            var tempDiv = document.createElement("div");

            tempDiv.appendChild(docFragment);

            selectedHtml = tempDiv.innerHTML;

        }else if(document.selection){

            selectionObj = document.selection;

            rangeObj = selectionObj.createRange();

            selectedText = rangeObj.text;

            selectedHtml = rangeObj.htmlText;

        }

        console.log(selectedText);

        console.log(selectedHtml);

    };

当选中的是input[type=text],textarea 里面的值时getSelection在 Firefox 下无法获取到选取值 

 

移除选中内容:

 

window.getSelection ? window.getSelection().removeAllRanges() : document.selection.empty();

 

 

可以参考:https://www.cnblogs.com/ArthurPatten/p/3317263.html

相关文章:

  • 2022-12-23
  • 2022-01-09
  • 2022-12-23
  • 2021-08-17
  • 2021-12-26
  • 2022-01-27
  • 2021-12-02
  • 2021-12-24
猜你喜欢
  • 2022-02-26
  • 2021-12-04
  • 2021-12-16
  • 2021-05-25
  • 2021-08-14
  • 2021-08-14
  • 2022-02-07
相关资源
相似解决方案