javascript - 鼠标滚轮在 swf 中不起作用(浏览器 chrome)

标签 javascript actionscript-3 google-chrome flash

所有其他浏览器都可以(参见 bottom mid )。我无法仅在 Chrome(所有版本)中滚动列表。我使用这段代码:

package com.spikything.utils
{   import flash.events.Event;
    import flash.events.MouseEvent;
    import flash.external.ExternalInterface;
    import fl.controls.*;

    public class MouseWheelTrap
    {   static private var _mouseWheelTrapped:Boolean;
        public static function setup(list:List):void
        {
            list.addEventListener(MouseEvent.MOUSE_OVER,function():void { allowBrowserScroll(false); });
            list.addEventListener(MouseEvent.MOUSE_OUT,function():void { allowBrowserScroll(true); });
        }
        private static function allowBrowserScroll(allow:Boolean):void
        {
            createMouseWheelTrap();
            if (ExternalInterface.available)
            {
                ExternalInterface.call("allowBrowserScroll",allow);
            }
        }
        private static function createMouseWheelTrap():void
        {
            if (_mouseWheelTrapped)
            {
                return;
            }
            _mouseWheelTrapped = true;
            if (ExternalInterface.available)
            {
                ExternalInterface.call("eval","var browserScrolling;function allowBrowserScroll(value){browserScrolling=value;}function handle(delta){if(!browserScrolling){return false;}return true;}function wheel(event){var delta=0;if(!event){event=window.event;}if(event.wheelDelta){delta=event.wheelDelta/120;if(window.opera){delta=-delta;}}else if(event.detail){delta=-event.detail/3;}if(delta){handle(delta);}if(!browserScrolling){if(event.preventDefault){event.preventDefault();}event.returnValue=false;}}if(window.addEventListener){window.addEventListener('DOMMouseScroll',wheel,false);}window.onmousewheel=document.onmousewheel=wheel;allowBrowserScroll(true);");
            }
        }
    }

}

在主类中:

MouseWheelTrap.setup(this.previewScrollBox);
this.previewScrollBox.addEventListener(MouseEvent.MOUSE_WHEEL, this.showData);

还有这段 javascript 代码 - swfobject.js

最佳答案

在 chrome://plugins 中关闭 pepperflash 解决了这个问题。这个愚蠢的玩家正在处理错误。或者你可以使用这个 BlastedMouseWheelBlock

关于javascript - 鼠标滚轮在 swf 中不起作用(浏览器 chrome),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21154691/

相关文章:

javascript - 如何在混合应用程序中创建图形

JavaScript 定时重定向

javascript - 似乎无法将变量从 AS3 传递到 Javascript

javascript - 如何阻止 Chrome 在复制/粘贴时将相对链接转换为绝对链接?

css - 包含样式表时导致错误的 XSL 文件

javascript - 让 Vue.js 使用 $set() 检测数组的更改

javascript - 根据 URL 字符串的内容隐藏内容

actionscript-3 - AS3 : Using string as variable

apache-flex - 如何将 Facebook Like 按钮添加到 Flex 应用程序?

html - CSS 下拉菜单隐藏在 Google Chrome 中的 Flash(仅)下。