JS清除选择内容的方法

今天在做一个DIV拖动的效果,发现在拖动的时候会选中页面中的文本,于是找了一下JS清除选择的内容的相关信息。
在得到的结果中发现: 在谷歌、火狐、Opera浏览器中,window对象有getSelection属性,而在IE中没有。IE中的document对象有selection属性,因此清除页面中选择的内容也就可以得到解决。
在谷歌、火狐、Opera浏览器中我们可以很容易的通过 window.getSelection().removeAllRanges() 清除选中的内容,在IE中我们可以通过 document.selection.empty() 来清除选中的内容。
于是我们可以这样写:

var clearSlct= "getSelection" in window ? function(){
 window.getSelection().removeAllRanges();
} : function(){
 document.selection.empty();
};

"getSelection" in window 用于判断window对象中是否含有getSelection属性,如果为true则说明当前浏览器支持getSelection,也即浏览器为非IE浏览器,反之亦然。
如果我们想要禁止用户选中页面中的内容,我们可以这样做:
防止鼠标选中内容(当鼠标松开时清除选中内容)

window.onmouseup=function(){
 clearSlct();
}

防止通过键盘选中内容(当按键松开时清除选中内容)

window.onkeyup=function(){
 clearSlct();
}

使用jQuery的方法

$(window).on("mouseup keyup",function(){
 clearSlct();
});

本文转载自http://www.jb51.net/article/60520.htm

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 前端开发面试知识点大纲: HTML&CSS: 对Web标准的理解、浏览器内核差异、兼容性、hack、CSS基本功:...
    秀才JaneBook阅读 7,499评论 0 25
  • <a name='html'>HTML</a> Doctype作用?标准模式与兼容模式各有什么区别? (1)、<...
    clark124阅读 9,026评论 1 19
  • 不知道姐妹们断奶都是如何断的,就我身边圈子的人来说,大多数的宝妈都会选择隔离断奶,除了没有办法的只能硬断,比如什么...
    淡然萍宝阅读 1,670评论 0 0
  • 不知道你从什么时候走进我心里 不知道从什么时候开始 想起你就会傻傻的笑 也许 是那个阳光慵懒的午后 也许 是那双温...
    从A到Z阅读 2,472评论 0 6
  • 2014年1月1日,长江公司为其200名管理人员每人授予100份现金股票增值权,这些人员从2014年1月1日起必须...
    shelter2033阅读 2,361评论 0 0

友情链接更多精彩内容