首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >禁用代码镜像元素上的滚动

禁用代码镜像元素上的滚动
EN

Stack Overflow用户
提问于 2019-09-20 09:52:30
回答 3查看 1.5K关注 0票数 1

我试图在代码镜像组件上实现类似的效果,该组件将通过执行溢出操作实现:隐藏在div上。

在实践中,这意味着:

  • 无可见滚动条
  • 当“滚动操作”在编辑器上发生时,网站主体自身移动(即不可能相对于网站滚动编辑器)

我怎么能这么做?

附注:

一个简单的“溢出:隐藏”无法工作,因为它看起来像是CodeMirror为垂直滚动条和水平滚动条创建了一个单独的div。我的猜测是javascript用于处理实际的滚动行为。我需要javascript来恢复这个吗?

P.S.S.

我正在使用react-codemirror2,但是我希望找到一个通用的答案,并且很高兴地找到如何在react中执行它。

EN

回答 3

Stack Overflow用户

发布于 2019-09-30 18:42:19

更新答复

CSS,其中.editor是包装文本区域的div。

代码语言:javascript
复制
.editor .CodeMirror-scroll {
    overflow: hidden !important;
}

/* hide the scrollbars */
.editor .CodeMirror-vscrollbar, .editor .CodeMirror-hscrollbar {
    display: none !important;
}

JS,其中editor是codemirror实例

代码语言:javascript
复制
// does not allow focus within codemirror editor:
editor.setOption('readOnly', 'nocursor');

然后,如果需要,可以由另一个编辑器设置您的scrollTop()位置。

问题:

  • 无法从编辑器中复制。
  • 在选择内容时,上下移动鼠标将导致滚动。~将寻找修复此问题的方法。
票数 1
EN

Stack Overflow用户

发布于 2021-10-15 07:24:55

设置scrollbarStyle: null,它完全隐藏滚动

代码语言:javascript
复制
var editor = CodeMirror.fromTextArea(document.getElementById("code"), {
      lineNumbers: true,
      scrollbarStyle: null
    });
票数 0
EN

Stack Overflow用户

发布于 2021-12-07 05:51:27

我还使用了react codemirror2 2,它接受className支持,防止滚动可以通过css轻松完成。您应该在max-height中添加height: auto

代码语言:javascript
复制
 <CodeMirror
   ...
   className={isScrollable ? 'disable-scroll' : ''}
 />

// sample css
 .disable-scroll .CodeMirror {
   max-height: 10rem;
   height: auto;
 }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58025973

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档