В консоле:
Uncaught TypeError: Cannot read property 'querySelector' of null
at activateWebcamMode (script.js:330)
at HTMLDocument.<anonymous> (script.js:153)
В районе строки 153: указано на activateWebcamMode(e);
spoilerdocument.addEventListener('click', function(e) {
if (e.target.closest('.trying__little-photo-slide') && !e.target.closest('.trying__little-photo-slide_active')){
changeCurPhoto(e);
}
if (e.target.matches('.webcam-btn')) {
activateWebcamMode(e);
}
if (e.target.matches('#tryon-photo-upload-btn')) {
var event = new MouseEvent('click',{
bubbles: true,
cancelable: true,
})
document.getElementById('tryon-photo-upload').dispatchEvent(event);
//uploadPhoto(e);
}
if (e.target.closest('#tryon-zoom-in')) {
zoom(e, 'in');
}
if (e.target.closest('#tryon-zoom-out')) {
zoom(e, 'out');
}
if (e.target.closest('#tryon-rotate-left')) {
rotate(e, 'left');
}
if (e.target.closest('#tryon-rotate-right')) {
rotate(e, 'right');
}
})
В районе строки 330: указывает на
elemContainer.querySelector('.trying__little-photo-slide_active').classList.remove('trying__little-photo-slide_active');
spoilerfunction activateWebcamMode(e) {
var elemContainer = e.target.closest('.trying');
elemContainer.querySelector('.trying__little-photo-slide_active').classList.remove('trying__little-photo-slide_active');
overlay.style.cursor = 'auto';
document.getElementById('image').classList.add('trying__hidden');
document.getElementById('video').classList.remove('trying__hidden');
var event = new CustomEvent('activateWebcamMode',{
bubbles: true,
cancelable: true,
detail: {
trackerCanvas: document.getElementById('video')
}
})
e.target.dispatchEvent(event);
}
Где то мелькало в сети, что подобное может быть связано со скрытым содержимым, типа input.... Но так и не разобрался.
А также, можно ли сделать что-нибудь типа ссылки, чтобы попробовать вызвать функцию еще раз?