正在创建CodeMirror动态呈现问题
Creating CodeMirror dynamically - rendering issues
我最近开始开发一个通过CodeMirror进行操作的类-动态链接必要的库,提供与服务器的通信等等。
因此,我将所有内容都保存在变量中,并且在初始化时,CodeMirror被附加到不在文档树中的DOM节点。就像这样:
var holder = document.createElement("div");
var textarea = document.createElement("textarea");
holder.appendChild(textarea);
this.editor = CodeMirror.fromTextArea(textarea, {/*options*/});
然后,当.show()
方法被调用到我的类时,我自己附加DIV:
this.show(node) {
if(this.editor!=null) {
node.parentNode.replaceChild(holder,node);
}
}
编辑器是可以的,因为点击它并尝试绘制,或者在我调整窗口大小之后。但之前,我只看到空白区域和禁用的滚动条。我相信这是因为我初始化整个CodeMirror的方式
那么,如果我想保持我的班级结构,我应该怎么做才能让它发挥作用呢?链接到实时代码(不适用于IE)。
一种更直接的方法是在显示CodeMirror实例后在其上调用.refresh()
。请参阅http://codemirror.net/doc/manual.html#refresh
所以我很简单地解决了这个问题-我在向dom树添加编辑器后调度onresize
事件:
node.parentNode.replaceChild(holder,node);
var evt = document.createEvent('UIEvents');
evt.initUIEvent('resize', true, false,window,0);
window.dispatchEvent(evt);
基于如何调度调整大小事件?问题
相关文章:
- 在有角度的ui网格中设置动态列的问题
- ReactJS中动态生成的输入文本字段值设置问题
- React Rails应用程序中动态子项的密钥分配问题
- 动态加载的自定义javascript/jQuery/HTML5音频播放器的问题
- Small Javascript从动态表单中删除多个元素的问题
- 动态生成网格样式问题
- 使用PhantomJS下载动态web内容时遇到问题
- 语义UI动态下拉菜单重新初始化问题
- 动态创建foreignGroup并将其添加到svg中有什么问题
- 此代码中动态生成选择框有什么问题
- IE9 动态页面 JS 问题
- 在页面中滑动多个动态部分时出现问题
- 使用 Javascript 动态删除行.我的代码有什么问题
- 滑块标题问题(动态观察滑块)
- IE9 问题:动态创建(通过 innerHTML)选项按钮和复选框不起作用
- Angular 使用 jquery 插件问题.动态下拉数据
- Rgd:通过jQuery问题动态添加HTML
- 点击问题:动态生成的链接不触发点击功能
- 通过jQuery For Loop问题动态构建DOM
- IE兼容性问题动态加载Jquery Ajax