获取CodeMirror实例

Ben*_*Ben 23 javascript codemirror

我想获得CodeMirror的一个实例(它绑定到textarea'#code').从onclick-event我想要为CodeMirror实例的当前值添加一个值.怎么能实现这一目标?从文档中我似乎找不到任何东西来获取实例并将其绑定到javascript中的loca var.

ash*_*tte 56

我在别处找到的另一种方法如下:

//Get a reference to the CodeMirror editor
var editor = document.querySelector('.CodeMirror').CodeMirror;
Run Code Online (Sandbox Code Playgroud)

当您动态创建CodeMirror实例或用CodeMirror实例替换现有DOM元素时,这很有效.

  • 并且为了使用原始选择器而不是仅仅找到第一个CodeMirror:`var originalDiv = $('#code'); originalDiv.next( 'CodeMirror')[0] .CodeMirror;` (4认同)

Ben*_*Ben 13

有人刚发布了一个答案,但删除了它.然而,这是一个有效的解决方案.谢谢!

- 基本上这是他的解决方案:

// create an instance
var editor = CodeMirror.fromTextArea('code');
// store it
$('#code').data('CodeMirrorInstance', editor);
// get it
var myInstance = $('code').data('CodeMirrorInstance');
// from here on the API functions are available to 'myInstance' again.
Run Code Online (Sandbox Code Playgroud)


Ali*_*ian 6

有一个getWrapperElement代码镜像编辑器对象,它为您提供代码镜像实例的根DOM元素:

var codemirrorDomElem = editor.getWrapperElement();
Run Code Online (Sandbox Code Playgroud)