Ckeditor 查找被触摸的elments编辑器

Ckeditor 查找被触摸的elments编辑器,ckeditor,range,nodes,Ckeditor,Range,Nodes,我现在在网上搜索了几天,但我似乎无法找到,我如何才能找到插入符号是否接触到元素。让我用这个例子更好地解释一下自己 This is a[ ] <span>example</span> 这是一个[]示例 例如,我们说插入符号是标签[]。 现在我们想知道插入符号是否靠近跨度元素? 我们怎么能找到这个?我还需要知道span元素是在插入符号之前还是之后 我正在使用CKEDITOR 4.0 api执行此操作。尝试以下操作: var range = CKEDITOR.instanc

我现在在网上搜索了几天,但我似乎无法找到,我如何才能找到插入符号是否接触到元素。让我用这个例子更好地解释一下自己

This is a[ ] <span>example</span>
这是一个[]示例
例如,我们说插入符号是标签[]。 现在我们想知道插入符号是否靠近跨度元素? 我们怎么能找到这个?我还需要知道span元素是在插入符号之前还是之后

我正在使用CKEDITOR 4.0 api执行此操作。

尝试以下操作:

var range = CKEDITOR.instances.yourEditorInstance.getSelection().getRanges()[ 0 ];
range.optimize();
console.log( range.getBoundaryNodes() );
此外:

请注意,您的范围可能位于元素内部(如e4,下图),因此边界节点始终是文本节点。查看更多信息


编辑:这些也值得一试:

range.getNextNode();
range.getPreviousNode();

毕竟,一旦拥有了节点,就可以检查它:

var node = range.getNextNode();
console.log( node.type == CKEDITOR.NODE_ELEMENT && node.is( 'span' ) );
试试这个:

var range = CKEDITOR.instances.yourEditorInstance.getSelection().getRanges()[ 0 ];
range.optimize();
console.log( range.getBoundaryNodes() );
此外:

请注意,您的范围可能位于元素内部(如e4,下图),因此边界节点始终是文本节点。查看更多信息


编辑:这些也值得一试:

range.getNextNode();
range.getPreviousNode();

毕竟,一旦拥有了节点,就可以检查它:

var node = range.getNextNode();
console.log( node.type == CKEDITOR.NODE_ELEMENT && node.is( 'span' ) );

我认为getNextNode可以完成这项工作。但是GetNextSourconode()没有完成任务,get Next在InternetExplorer中根本不返回任何内容?这三者之间有什么区别?(我将在稍后确认..首先将完成更多的测试)在解决所有getNextNode和getPreviousNode函数之后。。如果能解释一下3.的区别,我将不胜感激。。tnx!这些都是方法。由于您要处理选择,所以您需要的是方法。我认为getNextNode将完成这项工作。但是GetNextSourconode()没有完成任务,get Next在InternetExplorer中根本不返回任何内容?这三者之间有什么区别?(我将在稍后确认..首先将完成更多的测试)在解决所有getNextNode和getPreviousNode函数之后。。如果能解释一下3.的区别,我将不胜感激。。tnx!这些都是方法。既然你要处理选择,你需要的是选择的方法。