0

我在我的项目中使用 pagedown 编辑器。

我的 HTML 代码:

<script src="<?php echo base_url('assets/js/Markdown.Converter.js')?>"></script>
<script src="<?php echo base_url('assets/js/Markdown.Sanitizer.js')?>"></script>
<script src="<?php echo base_url('assets/js/Markdown.Editor.js')?>"></script>


<div style="padding-top:20px;" class="control-group">
                        <div class="controls">
                            <textarea class="wmd-input" id="wmd-input"></textarea>
                        </div>
                </div>
                <div style="padding-top:20px;" class="control-group">
                    <label for="signature" class="control-label user-label">学校专业</label>
                        <div class="controls">
                            <div id="wmd-preview" class="wmd-panel wmd-preview"></div>
                        </div>
                </div>

和我的 javascript 代码:

<script type="text/javascript">
$(function() 
        {
            var converter1 = Markdown.getSanitizingConverter();
            var editor1 = new Markdown.Editor(converter1);
            editor1.run();
        });
</script>

google chrome 浏览器抛出错误“Uncaught TypeError: Cannot call method 'appendChild' of null ?”,我的代码有什么问题?

PS:appendChild 在 Markdown.Editor.js:1332 的文件中

4

1 回答 1

1

你缺少wmd-button-bar元素

来自 Editot.js 文档

第二个参数是可选的,通常只有在同一页面中使用多个编辑器时才需要。如果给定,此参数是一个字符串,附加到编辑器使用的三个元素的 HTML 元素 ID。默认情况下,编辑器会查找#wmd-button-bar、#wmd-input 和#wmd-preview。如果您使用多个编辑器,您当然不能给第二组元素与第一组相同的 id,因此您可以创建第二个输入框并将字符串“-2”作为第二个参数传递给构造函数。

演示:小提琴

于 2013-09-30T03:56:01.977 回答