Да, это возможно. Свойство CSS, которое вы ищете, это pointer-events: none
.
function addOverlayImage(src, opacity) {
const img = new Image();
img.src = src;
Object.assign(img.style, {
position: 'fixed',
left: 0,
top: 0,
width: '100vw',
height: '100vh',
opacity,
objectFit: 'cover',
objectPosition: 'center center',
pointerEvents: 'none'
});
document.body.appendChild(img);
}
Использование:
addOverlayImage('https://i.picsum.photos/id/1/1440/900.jpg', 0.5);