窗口选择对象可以无效吗?

时间:2013-05-01 06:56:31

标签: javascript

我有一个JavaScript代码,它使用window.getSelection()查询Selection对象。如果我进行选择,则window.getSelection()成功返回Selection参数,但是,如果我通过单击屏幕上的任何其他位置使选择无效,window.getSelection()会继续给我旧的Selection对象。

我没有建立一些大的东西,所以我不想安装像Rangy这样的图书馆。如何使选择对象无效?顺便说一下,我正在使用Firefox 20.0.1来创建这个脚本。

请提出任何建议!

1 个答案:

答案 0 :(得分:1)

如果您单击文本中的其他位置,getSelection不会为您提供旧选择对象,而是为空选择对象。您可以测试selection.toString()的长度。

var selectionIsNotEmpty = selection.toString().length>0;

在WebKit浏览器上,您的选择类型也会从“范围”更改为“插入”或“无”。

Demonstration(选择一些内容然后点击其他地方)