javascript - codemirror 无法输入到编辑器

标签 javascript css codemirror

问题是在初始化 codemirror 插件后,如果 css 中的 textatea 设置为 display:none;,我无法向编辑器输入内容,这些是我遵循的步骤:

a) 创建并附加文本区域元素:

var txt = document.createElement('TEXTAREA');
document.body.appendChild(txt);

b) 初始化codemirror插件:

var html_edit = CodeMirror.fromTextArea(txt, {
    mode: 'htmlmixed'
});

此时,如果 textarea 在 css 中未被触及,我可以向编辑器输入内容,但是我是这样做的:

textarea {
    display:none;
}

光标在编辑器中闪烁,但我无法在编辑器中输入。

我在 css 中将 textarea 设置为 display:none 因为在下载和初始化 codemirror 脚本之前,用户可以看到第二个 textarea 元素,它看起来不太好。然而它造成了上述问题,也许有人处理过类似的情况,如何解决?

最佳答案

CodeMirror 专注于一个隐藏的文本区域来处理用户输入。您的规则将匹配该元素并将其设置为不显示,这意味着它无法聚焦,因此您无法聚焦您的 CodeMirror 实例。

使用更具体的 CSS 选择器,例如通过向您的文本区域添加一个类,以便您只隐藏您创建的文本区域。

关于javascript - codemirror 无法输入到编辑器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45169521/

相关文章:

"display:none"的 Javascript/Jquery 替代品?

javascript - 如何使显示内容具有响应性?

html - 如何为 CSS 中 HTML 输入类型颜色字段的值添加透明度?

html - 缩放移动应用程序会导致 float 元素和文本不居中

javascript - 我如何对源自鼠标点击而不是键盘操作的光标事件采取行动?

javascript - 如何使 CodeMirror 从一定行数开始,并扩展到用户输入的行数?

javascript - 3 通过Ajax和PHP实现依赖下拉

javascript - 使用 CSS/jQuery 的 Angular 动画

css - 有没有办法为 Meteor 中的一个特定模板关联一个样式表?

java - 复制并粘贴到 javafx 应用程序中嵌入的 codemirror.js