问题是初始化codemirror插件后,如果将css中的textatea设置为display:none;
,我将无法向编辑器键入,这些是我遵循的步骤:
a( 创建和附加文本区域元素:
var txt = document.createElement('TEXTAREA');
document.body.appendChild(txt);
b( 初始化代码镜像插件:
var html_edit = CodeMirror.fromTextArea(txt, {
mode: 'htmlmixed'
});
此时,如果 css 中的文本区域未被触及,我可以向编辑器键入,但是我这样做:
textarea {
display:none;
}
光标在编辑器中闪烁,但我无法在编辑器中键入。
我将 textarea 设置为在 css 中display:none
因为在下载和初始化代码镜像脚本之前,用户可以看到第二个看起来不太好的 textarea 元素。然而,它产生了上述问题,也许有人处理过类似的情况,如何解决?
CodeMirror 聚焦隐藏的文本区域来处理用户输入。您的规则将匹配该元素并将其设置为显示 none,这意味着它无法聚焦,因此您无法聚焦 CodeMirror 实例。
使用更具体的 CSS 选择器(例如,通过向文本区域添加类(,以便仅隐藏创建的文本区域。