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 - 调试AJAX请求

xml - 使用 DOM 函数在 Flex (AS3) 中创建 XML 字符串

javascript - Chrome 扩展内容脚本能否对本身属于 Chrome 扩展的 html 文件发出 jQuery AJAX 请求?

javascript - 用户脚本通过css删除div

javascript - 单击Windows Mobile触发中的绝对DIV单击基本元素

actionscript-3 - 是否有一个AS3库来确定大多数mp3音乐文件的每分钟节拍(bpm)?

ios - 适用于iOS的AS3 AIR获得可用的存储空间

javascript - 使用 Chrome headless 浏览器获取渲染字体

google-chrome - DOM 异常 : Failed to register a ServiceWorker: The script does not have a MIME type

javascript - 在标记中心创建文本