我负责 Flash 的同事请我帮助他阻止文档滚动默认操作。
我添加以下代码来帮助他。
<script type="text/javascript">
(function (document) {
var cancelscroll = function (e){
e.preventDefault();
};
if ('onmousewheel' in document) {
document.getElementById('container').onmousewheel = cancelscroll;
} else {
document.getElementById('container').addEventListener('DOMMouseScroll', cancelscroll, false);
}
})(document);
</script>
它在 IE9 和 Firefox 中运行良好,但它也阻止了 Chrome 中的 Flash 滚动事件。
我认为这很奇怪,该片段应该只阻止 JavaScript 事件,为什么它也会阻止 Flash 事件。
我的同事说他通过这个片段注册滚动事件:
stage.addEventListener(MouseEvent.MOUSE_WHEEL, mask_wheel);
他只在回调中获取 delta 值,不做其他任务。
我不熟悉Flash,我的同事也不熟悉JavaScript...
有人也有这个问题吗?如何解决?谢谢。