2012-02-06 80 views
0

我被這個wysiwyg編輯器http://www.innovastudio.com/卡住了。innovaeditor - 動態添加鏈接點擊

我想在頁面上點擊鏈接添加多個編輯器。看看我的代碼。

var times_clicked = 1; 
    $("#add_more_stuff").click(function(){ 
     times_clicked++; 
     var a = times_clicked; 
     console.log(a); 
     $('<textarea id="editor'+a+'" name="lesson"></textarea>').appendTo('body'); 
     $('<script>var oEdit'+a+' = new InnovaEditor("oEdit'+a+'"); oEdit'+a+'.REPLACE("editor'+a+'");<\/script>').appendTo($("#e")); 
    }); 

這增加了一個編輯器和整個頁面的打擊! 如果這不能用這個編輯器完成,是否有任何其他編輯器支持這種動態添加。

回答

1

我也解決了這個問題。您必須使用div替換才能使其工作。此外,請注意,爲此,oEdit必須在頁面範圍內聲明。如果你在函數中聲明變量,它將不起作用。如果你在一個函數聲明它,你必須將refernce添加到瀏覽器的窗口對象,例如:

window["oEdit1"] = new InnovaEditor("oEdit1"); 
window["oEdit1"].REPLACE("textarea id", "myEditor"); 

現在,這裏是你修改後的代碼(一種醜陋的方式做到這一點,但對於你的例子着想):

var times_clicked = 1; 
$("#add_more_stuff").click(function(){ 
    times_clicked++; 
    var a = times_clicked; 
    console.log(a); 
    $('<textarea id="editor'+a+'" name="lesson"></textarea><div id="div_editor'+a+'"></div>').appendTo('body'); 
    $('<script>window["oEdit"'+a+'"] = new InnovaEditor("oEdit'+a+'");window["oEdit"'+a+'"].REPLACE("editor'+a+'","div_editor'+a+'");<\/script>').appendTo('body'); 
}); 

..就是這樣,它應該以這種方式工作...