обрезщик не является функцией, не является функцией

Я пытаюсь использовать плагин cropper fengyuanchen, но встречаю совершенно невозможную ошибку

Я постоянно сталкиваюсь с этим, Uncaught TypeError: canvas.cropperэто не функция, хотя я уже пробовал все, что искал в вашем гиде, и даже проблемы, но я не мог ее решить. Я пытаюсь инициализировать обрезку в $ ( '# crop-mode' ). click ( функция ( e ) { var canvas = $ ( '# image-display canvas' ) [ 0 ]; var options = { viewMode : 0 , dragMode : 'crop' , aspectRatio : NaN , Предварительный просмотр : '.extra-preview' , отзывчивый : true , cropBoxMovable : true , cropBoxResizable : true , autoCropArea : 0.8 }; холст . обрезка ( варианты ); холст . on ({ 'build.cropper' : function ( e ) { console . log ( e . type ); }, 'built.cropper' : function ( e ) { console . log ( e . type ); }, 'cropstart. жнец ' : функция ( е ) { консоли . журнал ( е . тип , е . действие ;) } 'cropmove.cropper' : функция ( е ) { консоль . журнал ( е . тип , е . действие ;) ,} ' cropend.cropper» : функция ( е ) { консоль . журнал ( е . тип , е . действие ); }, 'crop.cropper' : функция ( е ) { консоль . журнал ( е . тип , д . х , е . y , e . width , e . height , e . rotate , e . scaleX , e . scaleY ); }, 'zoom.cropper' : function ( e ) { console . log ( e . type , e . ratio ); } }); }); когда моя кнопка нажата, вот так

canvas.on is not a function

Я совершенно зря

Существует и другая ошибка: canvas

Я не знаю почему. Я уже включил jQuery 3.1

javascript,jquery,function,canvas,crop,

0

Ответов: 3


3 принят

Из документов jQuery:

Прикрепите функцию обработчика событий для одного или нескольких событий к выбранным элементам.

Теперь, canvasпосле var canvas=$('#image-display canvas')[0];не выбранный элемент. Это первое свойство выбранного элемента. $()будет возвращать выбранный элемент (если он найден, очевидно), но $()[0]это что-то совсем другое. Бросьте [0].


1

Во-первых, убедитесь, что у вас есть библиотека, загруженная с помощью jquery:

<script src="/path/to/jquery.js"></script>
<script src="/path/to/cropper.js"></script>

Cropper - расширение jquery, поэтому вместо:

var canvas=$('#image-display canvas')[0];

делать:

var canvas=$('#image-display canvas');

0

Обязательно загрузите правильный пакет с помощью

npm install cropper

Пожалуйста, не используйте это

npm install cropperjs

поскольку Cropper.js не является плагином jQuery.

JavaScript, JQuery, функция, холст, растениеводство,
Похожие вопросы