鼠标滚轮滚动闪光内容

时间:2011-07-13 10:54:46

标签: javascript flash javascript-events mousewheel

我正在尝试在离开/输入Flash内容后更改鼠标滚轮的事件。

  1. on flash - 我想滚动flash carousel
  2. 在网络上 - 我想滚动网页内容
  3. 我的问题是:

    不同的浏览器为flash元素提供不同的“焦点”,因此在事件中未正确触发:Event.MOUSE_LEAVEMouseEvent.MOUSE_OVER。我为MOUSE_OVER和MOUSE_LEAVE触发了JS,但这似乎不起作用。

    此外,mouseWheel归因于浏览器,而不是flash对象。

    Firefox 4.x / 5.0 - 无需点击即可正常触发它们 Chrome 12.0.742.112 - 在授予“焦点”或点击flash对象后触发,如IE 9.0.1

    JS代码:

    function stopWheel(e){
        if(!e){ e = window.event; } /* IE7, IE8, Chrome, Safari */
        if(e.preventDefault) { e.preventDefault(); } /* Chrome, Safari, Firefox */
        e.returnValue = false; /* IE7, IE8 */
    }
    
    function player_enter(){
        document.onmousewheel = function(){ stopWheel(); }  /* IE7, IE8 */
        if(document.addEventListener){                      /* Chrome, Safari, Firefox */
            document.addEventListener('DOMMouseScroll', stopWheel, false);
        }
    }
    
    function player_leave(){
        document.onmousewheel = null;                       /* IE7, IE8 */
        if(document.addEventListener){                      /* Chrome, Safari, Firefox */
            document.removeEventListener('DOMMouseScroll', stopWheel, false);
        }
    }
    

    我有什么可以改变的吗?

1 个答案:

答案 0 :(得分:-1)

在闪光灯中你可以听到鼠标滚轮事件。如果你在那里有一个事件监听器,那么即使传播到html页面它也会停止转动。当你在闪光灯外面时,轮子事件正在做它应该做的事情(滚动网站)

 addEventListener(MouseEvent.MOUSE_WHEEL, handleMouseWheel);