代码之家  ›  专栏  ›  技术社区  ›  rpm192

无法调用ck编辑器文本区域(未捕获的类型错误:$(…)。ck editor不是函数)

  •  1
  • rpm192  · 技术社区  · 6 年前

    我用的是Laravel 5.7和一个叫 laravel-ckeditor 我不能调用ck编辑器文本区域。

    我将包和脚本包含在视图中,就像这样(这会将它们加载到文件的底部,就在 </body> 标签):

    @section('js')
      <script src="{{asset('js/render_select2.js')}}" charset="utf-8"></script>
      <script src="/vendor/unisharp/laravel-ckeditor/ckeditor.js"></script>
      <script src="{{asset('js/render_ckeditor.js')}}" charset="utf-8"></script>
    @endsection
    

    文件 ckeditor.js 正在正确加载,我可以在查看页面源时打开它。

    我甚至已经将应用程序服务提供商添加到我的 app.php 归档并发布资产。

    包含jquery 之前 这个。jquery可以工作,因为我可以在另一个脚本中使用它而不会出现任何问题。文件 render_ckeditor.js 包含此行:

    $('.ck-textarea').ckeditor();
    

    这是文本区域:

    <div class="row">
      <div class="col-sm-12">
        <div class="form-group">
          {{Form::label('description', 'Product description')}}
          {{Form::textarea('description', '', ['id' => 'ck-textarea', 'class' => 'form-control ck-textarea', 'style' => 'resize: vertical', 'placeholder' => 'Product description'])}}
        </div>
      </div>
    </div>
    

    我试图通过使用ID而不是类来调用它,从而更改 渲染ckeditor.js 文件:

    $('#ck-textarea').ckeditor();
    

    使用ID或类都会导致此错误消息:

    未捕获的类型错误:$(…).ckeditor不是render-ckeditor.js:1处的函数

    我这里缺什么?

    1 回复  |  直到 6 年前
        1
  •  0
  •   rpm192    6 年前

    结果发现我必须包括jquery适配器(duhh….),完全忽略了附加的include。

    添加此解决方案:

    <script src="/vendor/unisharp/laravel-ckeditor/adapters/jquery.js"></script>