Ryan Lester
Ryan Lester

Reputation: 2393

Detect Flash object click in JavaScript

Is there a way I can have JavaScript/jQuery know when a Flash object has been clicked (and still have Flash process the click)?

I tried putting a table on top of the object with position: fixed and a z-index and the object set to param name='wmode' value='transparent' so I could have my JavaScript detect which column was clicked using jQuery's click(), but the clicks were never intercepted by JavaScript (Chromium Linux).

Is there another way to accomplish this?

Upvotes: 3

Views: 9715

Answers (2)

bjornd
bjornd

Reputation: 22933

Now irrelevant:

Only if you have access to the flash source using ExternalInterface call. This is one of the reasons why flash for web is evil.

Upvotes: 0

Ryan Lester
Ryan Lester

Reputation: 2393

Thank you Marty Wallace and Darwin!

<div id='flash'>
<object>
<param name='wmode' value='transparent' />
<embed src='foo.swf' wmode=transparent allowfullscreen='true' allowscriptaccess='always'>
</embed>
</object>
</div>

<div id='output'></div>

<script type='text/javascript'>
$('#flash').mousedown(function (e){
    $('#output').append('<br>X: ' + e.pageX + ' ; Y: ' + e.pageY);
});
</script>

After testing, the XY coordinates of any clicks on the Flash object will be accurately printed to the screen and mouse interaction with the Flash object will proceed as normal.

Upvotes: 10

Related Questions