我现在正在网上看几天,但我似乎无法找到,如果插入符号触及元素我怎么能找到。让我用这个例子来解释一下自己。
This is a[ ] <span>example</span>
例如,我们说插入符号是标记[]。 现在我们想知道插入符号是否接近跨度元素? 我们怎么能找到这个?另外,我需要知道span元素是否在插入符之前或之后。
我正在用CKEDITOR 4.0 api做这个..
答案 0 :(得分:3)
试试这个:
var range = CKEDITOR.instances.yourEditorInstance.getSelection().getRanges()[ 0 ];
range.optimize();
console.log( range.getBoundaryNodes() );
此外:
console.log( range.getTouchedEndNode() );
console.log( range.getTouchedStartNode() );
请注意,您的范围可能位于元素内部(如 e4 ,下图),因此边界节点将始终为文本节点。请查看DOM range specification了解更多信息。
编辑:这些也值得一试:
range.getNextNode();
range.getPreviousNode();
毕竟,一旦你有了节点,就可以检查它:
var node = range.getNextNode();
console.log( node.type == CKEDITOR.NODE_ELEMENT && node.is( 'span' ) );