2015-04-07 65 views
1

我正在嘗試將Ace編輯器整合到我的應用程序中,並且我想擁有多個選項卡。然而,我得到這個工作的唯一方法是提前定義元素。因此,例如:在沒有預設元素的頁面上使用多個Ace編輯器

HTML:

<div id='editors'> 
    <div id='editor1'></div> 
    <div id='editor2'></div> 
</div> 

然後JavaScript的:

var editor1 = ace.edit('editor1'); 
var editor2 = ace.edit('editor2'); 

當我試圖簡單地將編輯器的容器內,它取代每次老編輯,以及我之前添加的任何元素。由於ace編輯器需要一些元素/元素ID來掛鉤,有沒有辦法在編輯器的HTML位置創建ace編輯器而無需硬編碼?也許就像附加一個新點然後使用它?

回答

0

因此,我在問完這個問題後才明白我需要做什麼。它就像動態添加一個元素然後用它作爲新的ace編輯器的容器一樣簡單。

JS:

editor.id = 'editor' + id; 
$('#editors').append('<div class="editor active" id="'+ editor.id + '"></div>'); 

,然後使用動態創建的ID告訴高手使用新的元素。

+1

請注意,您不必使用id,將元素傳遞給ace.edit也是如此 –

相關問題