粘贴触发滚动的文本会将光标视觉上放在错误的位置

时间:2017-06-30 13:03:41

标签: codemirror

到这里看看我的意思:https://codemirror.net/demo/indentwrap.html

粘贴足够大的内容以触发滚动条,您可能需要先删除现有文本:

  

Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium,totam rem aperiam,eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo。 Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit,sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt。 Neque porro quisquam est,qui dolorem ipsum quia dolor sit amet,consectetur,adipisci velit,sed quia non numquam eius modi tempora incidunt ut labore et dolore magnam aliquam quaerat voluptatem。 Ut enim ad minima veniam,quis nostrum exercitationem ullam corporis suscipit laboriosam,nisi ut aliquid ex ea commodi consequatur? Quis autem vel eure iure reprehenderit qui in ea voluptate velit esse quam nihil molestiae consequatur,vel illum qui dolorem eum fugiat quo voluptas nulla pariatur? Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium,totam rem aperiam,eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo。 Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit,sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt。 Neque porro quisquam est,qui dolorem ipsum quia dolor sit amet,consectetur,adipisci velit,sed quia non numquam eius modi tempora incidunt ut labore et dolore magnam aliquam quaerat voluptatem。 Ut enim ad minima veniam,quis nostrum exercitationem ullam corporis suscipit laboriosam,nisi ut aliquid ex ea commodi consequatur? Quis autem vel eure iure reprehenderit qui in ea voluptate velit esse quam nihil molestiae consequatur,vel illum qui dolorem eum fugiat quo voluptas nulla pariatur?

在您键入或移动光标之前,光标将显示在正确的位置。有没有人看过这个或知道解决方案或解决方法?

编辑:

如果我让听众进行粘贴并执行 numberOfLines.first.animate({ opacity: 'show', // animate fadeIn width: 'show' // animate slideDown }, 'slow'); refresh()它似乎大部分时间都可以工作......但如果我在某些内容之间发布某些内容并不总是有效的话原因。

1 个答案:

答案 0 :(得分:0)

虽然它在右侧总是有17px填充的副作用很小......将padding-right: 17px !important添加到.CodeMirror-sizer似乎可以解决问题。

问题似乎是由滚动条出现时引起的,它使滚动条可见,并且还将17px右边距添加到sizer(因此文本不会在滚动条下运行)。光标似乎是基于是否从未添加填充,直到用户键入或执行将移动光标的操作。通过始终拥有正确的填充,我们不会遇到这个问题。

小方面影响对我来说并不重要,所以我对这种解决方法感到满意,但是......如果其他人找到了更好的解决方案,我希望看到它。