在CKEditor中跳过元素

时间:2015-06-09 14:35:07

标签: javascript ckeditor contenteditable

我们说我们有以下文字和插入符号:

foo |bar baz

,HTML代码

foo <span>bar</span> baz

并且用户按下右箭头键。发生的事情是插入符号现在移动到b的{​​{1}}和a字母之间的范围内。

我希望CKEditor自动跳过某个元素(例如所有跨度)并跳到它后面,结果将是:

bar

这可能只是摆弄配置吗?如果是这样,我需要设置什么?我无法找到文档中提到的类似设置。或者我是否必须更改CKEditor源代码才能执行此类操作?

1 个答案:

答案 0 :(得分:1)

重要的是CKEditor不负责插入符号移动。至少在大多数情况下都是如此,因为有些地方需要自己动手。在所有其他情况下,您的浏览器会移动插入符号,因此您需要更改其行为。这是可行的,它只需要编写一个keydown监听器,它将发现某种情况何时发生并在您选择的位置设置选择。但是,这并非全部,因为用户也可以通过单击或拖动将插入符号放在此<span>内。所以有一点(好吧......“小”)更多的事情要做。

另一种解决方案是使用在CKEditor中称为小部件的不可编辑岛。我不确定这是否是您想要实现的目标,但也许placeholders正是您所寻找的。

如果您想详细了解小部件,请参阅 - Introduction to Widgets