Quoting relevant mozzila docs, regarding addEventListener() method:
... passive Optional
A boolean value that, if **true**, indicates that the function specified by listener will never call **preventDefault()**. **If a
passive listener calls preventDefault(), nothing will happen and a console warning may be generated.**
If this option is not specified it defaults to false – except that in browsers other than Safari, it defaults to true for wheel, mousewheel, touchstart and touchmove events. See Using passive listeners to learn more... addEventListener
That's the reason why some of the answers mentioned above didn't work at all, because using "e.preventDefault()", called from within a function, binded with "onwheel" event using standard call of addEventListener, without explicitly forcing { passive: false }, were creating in fact not active (like for most events) but passive listener in which e.preventDefault() simply does nothing, that's exactly what's happening under Chrome/Opera/FF.