2012-02-06 169 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'); 
}); 

..就是这样,它应该以这种方式工作...