如何修复summernote不是函数?

Posted

技术标签:

【中文标题】如何修复summernote不是函数?【英文标题】:How to fix summernote is not a function? 【发布时间】:2021-11-02 00:34:22 【问题描述】:

我在将 Summernote 集成到我的代码时遇到问题,我一直遇到这个问题。我知道那里有很多答案,但我仍然找不到我的解决方案。

未捕获的类型错误:$(...).summernote 不是函数

当我将它包裹在 $(document).ready(function() 中时,我的检查中出现了额外的错误:

jQuery.Deferred 异常:$(...).summernote 不是函数 TypeError: $(...).summernote 不是函数

当我点击检查中的错误行时,它会显示我的这一行代码

let msg = $("#summernote").summernote("code");

我已经在我的头脚本中声明了summernote cdn


<script type="text/javascript">

    $(document).ready(function() 
        $('#summernote').summernote(
            placeholder: 'description',
            tabsize: 2,
            height:200,
            toolbar:
            [
                ['style', ['style']],
                ['font', ['bold', 'underline', 'clear']],
                ['color', ['color']],
                ['para', ['ul', 'ol', 'paragraph']],
                ['table', ['table']],
                ['insert', ['link', 'picture', 'video']],
                ['view', ['help']]
            ]
        );    

    );
    

</script>

 <div class="nk-block nk-block-lg">
    <div id="summernote"></div>
 </div>

我该如何解决这个问题?

【问题讨论】:

【参考方案1】:

很可能该功能在页面加载时不可用(当它到达您的脚本时)。尝试将其包装在 $(document.ready(function() /*your code here */ ); 中,以便在页面加载完所有资产(包括 Summernote)后运行它。

【讨论】:

我已经按照您的建议进行了包装,但仍然没有运气,当我将其包装在 document.ready jQuery.Deferred exception: $(...).summernote is not a function TypeError: $(...).summernote is not a function 时出现此错误 这里:github.com/summernote/summernote/issues/2087 看起来 Summernote 的版本必须完全匹配 jquery。你验证了吗? 我使用的是`jquery 3.4`和summernote 0.8.18【参考方案2】:

找到我自己的答案。我必须将脚本声明到另一个文件中,这就是我解决自己问题的方法。

【讨论】:

以上是关于如何修复summernote不是函数?的主要内容,如果未能解决你的问题,请参考以下文章

Summer Note (WYSIWYG) - 图像上传为文件问题

如何在 Meteor 的 Summernote 中包含 CodeMirror?

使用 Summer note 编辑存储在数据库中的 HTML + CSS

Summernote JS - 在同一初始化中注入代码和参数

Angular 8 中的“$(...).summernote 不是函数”错误

TypeError: element.summernote 不是函数