Javascript CKEditor标记检测的结束/开始

Javascript CKEditor标记检测的结束/开始,javascript,html,ckeditor,Javascript,Html,Ckeditor,在我以前的帖子中: , 我在寻找触碰过的元素。那个职位的助理工作得很好 但现在我有另一个问题。将插入符号设置为标记/块的前面或末尾时。 我只能看到父母是斯潘。但也可能是用户试图将插入符号放在标签的外面。例如: this ^<span>^test</span> text this^^^测试文本 插入符号可以设置为两个“^”,而看不到任何差异 (单选(startContainer==endContainer)) 上一篇文章中的anwser确实检测到了跨度,如果它正好位于

在我以前的帖子中: , 我在寻找触碰过的元素。那个职位的助理工作得很好

但现在我有另一个问题。将插入符号设置为标记/块的前面或末尾时。 我只能看到父母是斯潘。但也可能是用户试图将插入符号放在标签的外面。例如:

this ^<span>^test</span> text 
this^^^测试文本
插入符号可以设置为两个“^”,而看不到任何差异

(单选(startContainer==endContainer))

上一篇文章中的anwser确实检测到了跨度,如果它正好位于标记之外。但就在标签内部,它不会检测到哪一个会产生新的场景。。我需要一种方法来避免新的情况,让它像一个触摸块一样处理

我想检测插入符号是否在范围内,并触摸起点。 只有当它接触到末端时,末端才是相同的。
函数range.checkStartOfBlock返回false,这不是解决方案。

我找到了Mozilla的修复程序,现在我还需要IE7及以上版本的修复程序

Mozilla修复程序: 启动检查:

range.startOffset === 0 //Means StartOfBlock
检查结束:

range.endOffset === range.startContainer.getText().length //Means EndOfBlock
==编辑====

rangy.googlecode.com上的rangy range库提供了一个可接受的解决方案。 (提供了某种程度上兼容的startOffset和一些其他功能。) 我需要大约3次检查Internet Explorer,只需要1次检查Mozilla。 但它看起来像是万无一失的

不过,所有的想法都非常受欢迎