2011-07-13 23 views
0

我想改變鼠標滾輪離開/進入Flash內容後的事件。鼠標滾輪上的閃光燈內容

  1. 上閃光 - 我想在網頁滾動閃光燈轉盤
  2. - 我要滾動網頁內容

我的問題是:

不同的瀏覽器提供不同的「焦點」閃光元素,因此在事件中沒有正確觸發:Event.MOUSE_LEAVE,MouseEvent.MOUSE_OVER。我有JS觸發MOUSE_OVER和MOUSE_LEAVE,但這似乎不工作。

此外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); 
    } 
} 

有什麼我可以改變的嗎?

回答

-2

在閃光燈中,您可以偵聽鼠標滾輪事件。如果你有一個事件監聽器,那麼它會停止傳播到html頁面。當你在閃光燈之外時,輪子事件正在做它應該做的事(滾動網站)

addEventListener(MouseEvent.MOUSE_WHEEL, handleMouseWheel); 
+0

這是不正確的;只是添加一個MOUSE_WHEEL事件並不會阻止網站滾動 – k107

+0

如果您處理輪子,那麼它不會讓它進入網站,它會阻止滾動。 – TheBrain

+0

這僅在AS2中才是正確的。在AS3中,衆所周知,Flash和瀏覽器都會收到滾動事件。請參閱http://code.google.com/p/mousewheeltrap/。我沒有列出這個解決方案,因爲我實際上在Chrome + Mac上尋找使用它的問題。在這種情況下,它確實會阻止瀏覽器滾動,但Flash也不會收到該事件。 – roguenet