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

时间:2014-08-22 17:12:36

标签: javascript html

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

我正在尝试从drag and drop HTML draggable ui-ace div droppable中添加一些文字。

我已经制作了<div id="id1" ui-ace droppable=true ondrop="handleDrop(event,this)"></div> ,并希望从drop的事件目标中获取编辑器的当前实例。

我怎样才能完成这个?

HTML

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
}

JS功能

{{1}}

请帮忙。

1 个答案:

答案 0 :(得分:21)

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

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

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

   // Do something with editor
}

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