JS清除选择内容的方法

JS获取、清除用户选择文本的方法

我在浏览某个网站的时候,偶然发现当我鼠标选择内容只要超过了30个字符的时候,就会清除所选择的内容。

可以这样实现同样的效果:

window有一个Selection 对象,表示用户选择的文本范围或光标的当前位置。 如果想要将 Selection 转换为字符串,可通过连接一个空字符串("")或使用 String.toString() 方法。

window.getSelection().toString();       //获取用户选择的文本内容
window.getSelection().removeAllRanges() //清除鼠标获取元素的内容

 在IE9一下,用document.selection 获取当前网页中的选中内容,因为window没有Selection 对象。

document.selection.createRange().text; //用该表达式获取用户选择的文本内容
document.selection.empty();            //用该表达式清除鼠标获取元素的内容

实例讲述JS清除用户选择文本内容


$('html').mouseup(function(){  //通过Jquery来获取html标签,给其添加鼠标事件mouseup
var ss = window.getSelection;        
var txt = ss ? window.getSelection().toString():document.selection.createRange().text; //获取用户选择的文本内容
  if(txt.length>=30){    //判断文本内容是否超过29个
    ss ? window.getSelection().removeAllRanges() : document.selection.empty();//清除鼠标获取元素的内容
  }
  console.log(txt) ;//控制台打印用户选择的文本内容

});

这样就同样实现了规定用户在选择文本范围在30以下,超出30将会清除用户所选择的内容。 

你可能感兴趣的:(JS)