js 获取页面选中的文本
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();

浙公网安备 33010602011771号