Я пытаюсь просмотреть мое изображение с холста после того как я выбрать его в моем поле ввода, но я получаю сообщение об ошибке,Javascript/Jquery изображение предварительного просмотра с холстом
Этот Html генерируется, в этом случае 3 раза :(плохо только показать одну из этих трех)
<input type="file" class="ImageInput">
<img class="input-preview" src="http://placehold.it/654x363" style="width:280px;height:150px;display:none;" />
<canvas class="myCanvas" width="400" height="200"></canvas>
И это моя функция Js, которая должна просмотреть изображение:
readURL: function() {
var $input = $(this);
if (this.files && this.files[0]) {
var reader = new FileReader();
reader.onload = function(e) {
$input.next('.input-preview').attr('src', e.target.result);
var ctx = $input.next('.myCanvas').getContext("2d");
ctx.drawImage($input.next('.input-preview')[0], 0, 0, 400, 200);
}
reader.readAsDataURL(this.files[0]);
}
$(".ImageInput").change(this.readURL);
},
Но я получаю эту ошибку:
Uncaught TypeError: $input.next(...).getContext is not a function
На этой линии:
var ctx = $input.next('.myCanvas').getContext("2d");
Как решить эту проблему?
'getContext' - это метод' CanvasElement', а не 'jQuery-object' .. Используйте' $ input.next ('. MyCanvas'). Get (0) ... ' – Rayon
И холст не является следующим элементом ввода файла –
@Rayon благодарит за ваше предложение, но это не сработало. Я получаю такое же сообщение об ошибке – utdev