我正在开发一个网页,但我遇到了一些 javascript 代码的问题。
我将Nicedit用作 textareas 的 WYSIWYG,正如其主页所述,就像在我的网页中的任何位置复制/粘贴这 2 行一样简单:
<script src="http://js.nicedit.com/nicEdit-latest.js" type="text/javascript"></script>
<script type="text/javascript">bkLib.onDomLoaded(nicEditors.allTextAreas);</script>
这与页面的默认文本区域配合得很好。问题是我也有这个 javascript 来添加更多的文本区域:
function addchapter()
{
if (num_chapter < 10)
{
var num=num_chapter+1;
document.getElementById('chapters').innerHTML += "<h3>Chapter " + num + "</h3> Title: <input type='text' name='titlechapter_" + num + "'><br>Content:<textarea name='chapter_" + num + "'></textarea>";
}
else if (num_chapter == 10)
{
document.getElementById('chapters').innerHTML += "<br />Maximum is 10 chapters.";
}
num_chapter += 1;
}
所以当我通过javascript添加一个textarea时,它没有正确的样式;它没有实施 Nicedit。问题是文本区域都是标准的,所以两种情况下的代码没有区别。我不太了解 javascript,但我认为问题可能是 Nicedit 代码在页面加载时运行一次,仅此而已。知道如何在页面加载(<= 已经完成)和addchapter
函数运行时运行它吗?
相关的 HTML 位是这样的:
<div id="chapters">
</div>
<button type="button" onclick="addchapter()"> Add chapter </button>
我的页面可以看到奇怪的行为是这个(断开的链接),在第 1 章下,您会看到“添加章节”按钮。
非常感谢大家。
编辑 1,错误控制台输出:当页面加载它抛出这个:
"GET http://js.nicedit.com/nicEditIcons-latest.gif
bkClass.extend.getStylenicEdit-latest.js:8
bkClass.extend.constructnicEdit-latest.js:38
AnicEdit-latest.js:8
bkClass.extend.addInstancenicEdit-latest.js:37
bkClass.extend.panelInstancenicEdit-latest.js:37
nicEditors.allTextAreasnicEdit-latest.js:37
bkLib.domLoaded"
当我添加新章节时:
"Uncaught TypeError: Object #<bkClass> has no method 'removeInstance'
bkClass.extend.checkReplacenicEdit-latest.js:37
bkClass.extend.panelInstancenicEdit-latest.js:37
nicEditors.allTextAreasnicEdit-latest.js:37
(anonymous function)/file/new/:112
onclick"