Autor Zpráva
jan99
Profil *
Ahoj, pouzivam pro youtube videa nasledujici kod:

A potrebuju nejak predat do funkce onytplayerStateChange id hodnoru z "nadrazene" funkce.

<script type="text/javascript">
function onYouTubePlayerReady(id) {
    var ytplayer = $('#'+id).get(0);
    ytplayer.addEventListener('onStateChange', 'onytplayerStateChange');
}
function onytplayerStateChange(newState) {
    if (newState == 1 || newState == 3) {
        alert("#yt-"+id);
        $("#yt-"+id).hide();
        $("#yt2-"+id).css("width", "100%");
    }
    if (newState == 0 || newState == 2) {
        $("#yt-"+id).show();
        $("#yt2-"+id).css("width", "");
    }
}
</script>

Diky
Chamurappi
Profil
Reaguji na jana99:
Zdá se, že v youtubovém API je skutečně jako druhý argument addEventListeneru řetězec. To je hloupé.
Ale tak asi nic ti nebrání dynamicky vyrobit novou globální funkci s nějakým unikátním názvem. Přibližně nějak takhle:
window["onytplayerStateChange_" + id] = function(newState)
{
  onytplayerStateChange(newState, id);
};
ytplayer.addEventListener("onStateChange", "onytplayerStateChange_" + id);

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: