如何从其Div ID中获取Ace Editor对象

use*_*089 9 html javascript

我有一个div实例化ace编辑器对象.

我试图drag and drop从一个文本到它HTML draggable.

我已经制作了ui-ace div droppable并希望从drop的事件目标中获取编辑器的当前实例.

我该怎么做到这个???

HTML

<div id="id1" ui-ace droppable=true ondrop="handleDrop(event,this)"></div>
Run Code Online (Sandbox Code Playgroud)

JS功能

function handleDrop(e,obj){
   // need code to get current editor instance from obj without using ace.edit(obj.id)
   // because ace.edit(obj.id) will reset the content I believe. Please correct me if I am 
   //wrong. Ace api says it will insert editor in the DOM. http://ace.c9.io/#nav=api&api=ace
}
Run Code Online (Sandbox Code Playgroud)

请帮忙.

Yoa*_*osh 22

我不知道为什么API文档中没有提到这一点,但如果你调用ace.edit已经实例化的编辑器,你将获得该实例.它不会重置该编辑器.我测试了它.

在您的情况下,它可以通过以下代码完成:

function handleDrop(e,obj)
{
   var editor = ace.edit(obj.id);

   // Do something with editor
}
Run Code Online (Sandbox Code Playgroud)

我知道已经有一段时间了,因为你问过这个问题,但我找不到关于这个主题的任何内容,所以我想我应该分享一下.