在 Froala 编辑器中保留插入符号位置,在"html.set"或"snapshot.restore"之后



我试图将Froala编辑器合并到React组件中,并且在使用'html更新编辑器中的内容后难以保留插入符号位置。设置"或"快照。恢复的方法。

目标是在React的状态下维护Froala的编辑器内容(使用Flux存储):

抓取HTML(并随后将其存储在Flux存储中)不是一个问题:

var content = $('#editor').froalaEditor('html.get', true);

但是,当尝试使用

将状态刷新回Froala时:

$('#editor').froalaEditor('html.set', this.state.content);

新的HTML更新没有问题,但插入符号停止闪烁。编辑器仍然有焦点,但是输入的任何新文本都插入到任何<p> </p>标记内容之外。这有效地使插入符号从最后一个位置向上移动。

或者,使用以下命令来获取和恢复快照:

var snap = $('#editor').froalaEditor('snapshot.get'); $('#editor').froalaEditor('snapshot.restore', snap);

将插入符号移动到编辑器的左上角。

是否有一种方法来获得插入符号的位置,并重新关注该位置,HTML设置后(或snapshop恢复)?

这是使用Froala 2.0.0-rc2,但同样的行为存在于最新的1。x版本。

恢复快照应该可以工作。如果你可以让jsFiddle不工作,你可以在Github上报告它。

另一种方法是调用selection。在获取HTML之前保存,以便获得带有标记的HTML。然后,如果HTML带有选择标记,则光标将被放置在它原来的位置。

最新更新