Javascript 获取window.getSelection()之后的下一个字符

Javascript 获取window.getSelection()之后的下一个字符,javascript,getselection,Javascript,Getselection,是否仍要在window.getSelection()之后获取下一个字符?我需要检查所选文本后的字符是否为空格 编辑:谢谢你的回答!我基本上用它来突出显示文本,但我想把内容限制为完整的单词。我使用了下面的解决方案(由Steven提供)作为起点;我认为以下措施应该有效: sel = window.getSelection(); var text = sel.anchorNode.nodeValue; var index = sel.baseOffset + sel.focusOffset-1; va

是否仍要在window.getSelection()之后获取下一个字符?我需要检查所选文本后的字符是否为空格

编辑:谢谢你的回答!我基本上用它来突出显示文本,但我想把内容限制为完整的单词。我使用了下面的解决方案(由Steven提供)作为起点;我认为以下措施应该有效:

sel = window.getSelection();
var text = sel.anchorNode.nodeValue;
var index = sel.baseOffset + sel.focusOffset-1;
var isSpace = text[index] === undefined;
if (isSpace) {
alert("space");
}
(在上面的链接中,我在makeeditable和highlight函数调用之后使用了这段代码)。

尝试以下方法:

var sel = window.getSelection()
var text = sel.anchorNode.nodeValue;
var index = sel.baseOffset + sel.focusOffset;
var isSpace = text[index] === ' ';

这是一个开始,前提是focusNode中至少还有一个字符:

window.getSelection().focusNode.textContent.charAt(window.getSelection().focusOffset)

这不是一个正确的示例,因为选择字符串表示可能会在
anchorNode
中多次出现,最好是
var index=window.getSelection().baseOffset+window.getSelection().focusOffset同样,也不需要这样的索引+1。在正确的轨道上,仍然不能在所有情况下工作(我在Chrome上测试你的code snipper+开发者工具,选择
sel=
),问题要复杂得多,这取决于选择从哪里开始(
anchor
)和从哪里结束(
focus
)。考虑选择向前或向后文本…谢谢!而且……我上面的解决方案实际上不起作用(我需要做更多的测试,但这看起来很有希望!这在Safari上对我有效。但是,在做了一些研究之后,我发现getSelection()方法不适用于较旧的浏览器。我想知道我是否可以使用Tim Down的rangy。。。