我正在尝试创建几种方法让 tinyMCE 将光标移动到文本中的某个 SPANS,如果所有跨度都在文本的可见部分中,这可以正常工作,但是对于长文档,当跨度不是时可见(必须滚动才能查看),它会移动插入符号,但文本不会滚动:
这个问题显示了如何移动插入符号,但它不会滚动。如何强制编辑器滚动到插入符号位置?
我正在尝试创建几种方法让 tinyMCE 将光标移动到文本中的某个 SPANS,如果所有跨度都在文本的可见部分中,这可以正常工作,但是对于长文档,当跨度不是时可见(必须滚动才能查看),它会移动插入符号,但文本不会滚动:
这个问题显示了如何移动插入符号,但它不会滚动。如何强制编辑器滚动到插入符号位置?
我找到了解决方案,在设置插入符号位置后,添加一些文本,编辑器会自动滚动到新位置:
ed.execCommand('mceInsertContent', false, "");
@leonardorame 的答案有效,但它仅将文本滚动到页面底部的视图中,如下所示:
……
……
|
如果您希望插入符号位于顶部...
|
……
……
那么你需要一点额外的:
//save the current position
var bm = ed.selection.getBookmark(2, true);
//scroll to the end
ed.selection.select(ed.getBody(), true);
ed.selection.collapse(false);
ed.execCommand('mceInsertContent', false, ");
//scroll back up, so that the caret is now at the top
ed.selection.moveToBookmark(bm);
ed.selection.collapse(false);
ed.execCommand('mceInsertContent', false, "");