2012-01-16 7 views
3

カスタムイベントを発生させる<object/>オブジェクトのイベントリスナーとして動作するJavaScript関数がいくつかあります。問題のオブジェクトはJavaScript API対応のYouTubeプレーヤーです。しかし、私は他の場所で見てきたaddEventListener例の引用符を使用することをお勧めしませんelement.addEventListenerの正しい使い方

function onYouTubePlayerReady(playerId) { 
    ytplayer = document.getElementById("myytplayer"); 
    ytplayer.addEventListener("onStateChange", "onytplayerStateChange"); 
    // note: quotes used ----------------------^---------------------^ 
    // note: callback function defined in an arbitrary location 
} 
function onytplayerStateChange(newState) { 
    alert("Player's new state: " + newState); 
} 

function onytplayerStateChange(newState) { 
    alert("Player's new state: " + newState); 
} 
function onYouTubePlayerReady(playerId) { 
    ytplayer = document.getElementById("myytplayer"); 
    // note: callback function defined EARLIER 
    ytplayer.addEventListener("onStateChange", onytplayerStateChange); 
} 

だから、どの方法が正しいのですか?documentationは、イベントリスナーを取り付けるため、このサンプルコードを提供しますか最初のものはすべてのブラウザで動作するように見えましたが、最近私は奇妙な問題に気付き、その問題がaddEventListenerの呼び出しの方法と関係しているのだろうかと思います。

+0

機能「onytplayerStateChange」は、実際にJavaScript関数であることを起こる「リスナー」で引用符を使用して、リスナーが同封されるべきであると述べている私は、任意の場所を見つけることができないでしょう見積もりで引用を使用しないようにするには正しい方法でなければなりません。 – Golmaal

答えて

3

実際にaddEventListenerメソッドはFlash Playerで公開され、ネイティブのaddEventListenerでは公開されないメソッドなので、実際はYTPlayer内のAS3コードの実装に依存します。

私がドキュメンテーションで行くと

+0

'addEventListener'関数は実際には異なって見えます。この動作はどこかに記載されていますか? –

+0

ここhttp://code.google.com/apis/youtube/js_api_reference.html#Events –

関連する問題