【发布时间】:2017-12-21 22:09:43
【问题描述】:
我正在尝试为求职面试问题制作一个小项目,并在页面上有一堆带有答案和代码示例的问题。每个都在 Materialize.css 的 .collapsible div 中,单击时会显示答案和代码示例。
解决此问题的最佳方法是什么?我尝试将初始化程序放入一个函数中,从 DOM 中获取我所有的文本区域,循环它们并将它们变成 CodeMirror 文本区域。
$(document).ready(function(){
var blocks = document.getElementsByClassName('code-block');
function createEditorFrom(selector) {
let editor = CodeMirror.fromTextArea(selector, {
lineNumbers : false,
mode: "swift",
});
}
for (var x = 0; x < blocks.length; x++) {
createEditorFrom(blocks[x]);
}
// Callback for Collapsible open
$('.collapsible').collapsible({
onOpen: function() {
// call editor.refresh()?
},
});
});
这确实有效,但我觉得这不是解决这个问题的一种非常优雅的方式。有没有更好的方法来做到这一点?
问题:
- 有没有更好的方法来创建所有 CodeMirror 文本区域?
- 编辑器中的代码在单击之前不会出现。我所做的一切都无法让它发挥作用。调用 editor.refresh()(使用 setTimeout)和 autorefresh: true。
【问题讨论】:
标签: javascript html codemirror