无法调用ck-editor textarea(未捕获的TypeError:$(...)。ckeditor不是函数)

时间:2018-12-31 16:47:41

标签: jquery laravel ckeditor

我正在使用Laravel 5.7和名为laravel-ckeditor的软件包,但无法调用ck-editor文本区域。

我将包和脚本这样包含在我的视图中(这会将它们加载到文件底部的</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而不是类来调用它,将我的render_ckeditor.js文件更改为:

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

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

  

未捕获的TypeError:$(...)。ckeditor不是render_ckeditor.js:1的函数

我在这里想念什么?

1 个答案:

答案 0 :(得分:0)

事实证明,我必须包括jQuery适配器(duhh ..),完全忽略了其他include。

添加此按钮即可解决该问题:

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