2011-07-13 6 views
0

私はマウスのためのイベントを変更しようとしている/フラッシュコンテンツを入力した後。マウスのスクロールがスクロールコンテンツ

フラッシュ上
  1. - 私は、ウェブ上でのフラッシュカルーセル
  2. をスクロールしたい - 私は、Webコンテンツをスクロールしたい

私の問題は、次のとおりです。

異なるブラウザは、フラッシュ用の「フォーカス」が異なる与えますしたがって、イベントでは正しく起動されません:Event.MOUSE_LEAVEMouseEvent.MOUSE_OVER。私はJSがMOUSE_OVERとMOUSE_LEAVEのためにトリガーされているが、これは動作していないようだ。

また、mouseWheelはブラウザに起因するものであり、フラッシュオブジェクトではありません。

のFirefox 4.xでは/ 5.0 - クローム12.0.742.112をクリックせずに、それらを適切に発射する - それは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では、フラッシュとブラウザの両方がスクロールイベントを受け取ることはよく知られています。 http://code.google.com/p/mousewheeltrap/をご覧ください。実際にChrome + Macで問題を見つけているため、これを解決策として挙げていません。そのような状況では、ブラウザがスクロールしないようにしますが、Flashはイベントを受信しません。 – roguenet

関連する問題