2011-01-07 8 views
3

wmode:transparentにあるにもかかわらず、フラッシュ要素をロールオーバーするときにjavascriptイベントを発生させる方法がわかりません。onMouseoverフラッシュ要素?

私は、onMouseoverイベントでフラッシュ要素の上に透明なセンサーdivを配置しようとしましたが、それは機能しましたが、フラッシュは役に立たず、完全に解除できなくなりました。

ありがとうございます。

おかげ

+0

:divの中にムービーを置きます。 jQueryを使用して、このdivの位置を計算し、マウス位置を追跡します。次に、カーソルがムービーの上にあるかどうかを調べることができます。リンク:http://docs.jquery.com/Tutorials:Mouse_Positionとhttp://api.jquery.com/position/ –

+0

ありがとうございますが、それは本当にきれいではないし、純粋なjavascriptウィジェットでは信頼できないjQueryが必要です。 – Ryan

+0

SWFの上にdivのzインデックスが付いているため、SWFはクリックになりません。そういうわけで、Z-Indexはどのように機能するのでしょうか。 –

答えて

8

これは、SWF全体で単純なマウス検出を探している場合は、ExternalInterfaceよりもはるかに簡単です。

JavaScriptを使用してSWFを埋め込んでいる<object>または<embed>タグをターゲットにするだけです。ちょうど私の心の上から

 

document.getElementById("content-banner").onmouseover = over; 

function over(evt) 
{ 
alert("moused over"); 
} 

http://jsfiddle.net/p7YkA/

+0

'document.getElementById(" content-banner ")。onmouseover'は動作しますが、' $( "content-banner")は動作しません。 – theB3RV

1

ExternalInterfaceを使用し、Flashからイベントを送出するJavaScriptメソッドを呼び出します。

+0

+1これはあなたのやり方です。 – sberry

+0

ケアダウン投票を説明するケア? – weltraumpirat

+0

私は投票を落とすことができたらいいと思う。営業担当者は、マウスの操作の際にSWF全体でイベントを発生させようとしていることを完全には説明していませんでした。彼はフラッシュ要素を指しています(これは私にとって、全部ではなく、フラッシュムービーの一部であるように見えました)。私はまだステージにアタッチされたイベントでExternalInterfaceコールを好む。 – sberry

関連する問題