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