[JS] Vreemd gedrag embedded video + events

Pagina: 1
Acties:

Onderwerpen


  • Bozozo
  • Registratie: Januari 2005
  • Laatst online: 20-02 16:10

Bozozo

Your ad here?

Topicstarter
Ik embed een youtube video met de embedSWF functie van google. Het object krijgt een id "ytplayer". Nu wil ik mouseup events op dit object opvangen, om te registreren of de gebruiker de seek balk gebruikt.

Nu doet zich de volgende situatie voor:
JavaScript:
1
2
$("body").bind("mouseup",function(e) {alert(e.target.id)});   // alerts "ytplayer"
$("#ytplayer").bind("mouseup",function(e) {alert(e.target.id)});   // no response


Ik heb al een tijd zitten debuggen. Het gebruik van standaard JS ipv jQuery helpt niet. Als ik document.getElementById("ytplayer") doe, krijg ik netjes een HTML Object terug. Dat object heeft ook gewoon een addEventListener functie. Firefox en IE vertonen hetzelfde gedrag.

Kortom, als ik de listener op de body zet ben ik in staat mouseUp op de player af te vangen. Als ik dezelfde listener op de player zelf zet, gebeurt er niets.

Ik kan er wel omheen werken, maar ik ben nu geinteresseerd :P. Begrijpt iemand wat er aan de hand is?

TabCinema : NiftySplit


  • MueR
  • Registratie: Januari 2004
  • Laatst online: 21-09 14:53

MueR

Admin Tweakers Discord

is niet lief

Ik kan het fout hebben, maar voor zover ik weet worden mouse events (of keyboard events for that matter) niet doorgegooid naar de DOM.

Anyone who gets in between me and my morning coffee should be insecure.


  • Tharulerz
  • Registratie: April 2009
  • Laatst online: 10-04 05:16
MueR schreef op donderdag 23 december 2010 @ 20:08:
Ik kan het fout hebben, maar voor zover ik weet worden mouse events (of keyboard events for that matter) niet doorgegooid naar de DOM.
Als ik goed ben, bedoelt MueR dus: de Flash player geeft geen mouse events door naar de DOM, en dat klopt. Als je wil afvangen of mensen de seek gebruiken, zal je APIs van youtube moeten gebruiken (indien beschikbaar)

  • Bozozo
  • Registratie: Januari 2005
  • Laatst online: 20-02 16:10

Bozozo

Your ad here?

Topicstarter
Nee dat is niet het probleem. Ik kan zelfs een wrapper div om de video heen zetten, en de onclick daarop afvangen (dwars door de video heen!). Dat is eigenlijk wel een charmante workaround :D

Toch blijft het gek dat het youtube object wel de bron van de click is, maar zelf geen click handler triggert :S

edit @hierboven: de youtube api bevat helaas geen onSeek event... vandaar dat ik met deze constructie aan het klooien ben. Ik doe nu na elke klik op de video player.getCurrentTime() om te controleren of de user heeft geseeked.

[ Voor 27% gewijzigd door Bozozo op 23-12-2010 20:25 ]

TabCinema : NiftySplit