2012-05-05 9 views
0

は、だから私はどこでも私がチェックから読んでいてる何から、これは私がイベントハンドラの属性にアクセスする方法を次のとおりです。はJavascriptを:苦労アクセスするイベントハンドラ

canvas.addEventListener('onmousemove', traceMouse(e)); //Handler gets passed in as 'e' 

function traceMouse(e) { //Then I could just use it like a normal parameter, right? 
    mouseX = e.clientX; 
    mouseY = e.clientY; 
    } 

残念ながら、放火犯は、eが定義されていないと主張しています。私はどこが間違っていたのか全く分かりませんでした。私はおそらく何らかの間違いを犯してしまいました。私は自分の頭を噛み応える準備ができています。

ヘルプ?

答えて

0

実際には、addEventListenerでは、passの第2引数は、イベントが発生したときに呼び出す関数の名前です。今、関数&をe(これは定義されていません)に渡しています。だから、コードが

canvas.addEventListener('mousemove',traceMouse); 

する必要があり、あなたはclientX & Y.

を取得することができますので、イベントオブジェクトは、ブラウザによって渡され、どのような場合には、あなたがあなたにできる機能するように引数を渡す必要があります閉鎖を使用する。 例を示します。 http://jsfiddle.net/parth1403/fVakB/