我有一个JavaScript代码,它使用window.getSelection()查询Selection对象。如果我进行选择,则window.getSelection()成功返回Selection参数,但是,如果我通过单击屏幕上的任何其他位置使选择无效,window.getSelection()会继续给我旧的Selection对象。
我没有建立一些大的东西,所以我不想安装像Rangy这样的图书馆。如何使选择对象无效?顺便说一下,我正在使用Firefox 20.0.1来创建这个脚本。
请提出任何建议!
答案 0 :(得分:1)
如果您单击文本中的其他位置,getSelection
不会为您提供旧选择对象,而是为空选择对象。您可以测试selection.toString()
的长度。
var selectionIsNotEmpty = selection.toString().length>0;
在WebKit浏览器上,您的选择类型也会从“范围”更改为“插入”或“无”。
Demonstration(选择一些内容然后点击其他地方)