2011-02-13 7 views
0

埋め込みサウンドオブジェクトを再生すると、埋め込み済みのピクチャも変更されるようにスクリプトを作成しようとしています。アクションが発生する前のJavascriptイベントの発生

function changePic() { 
document.getElementById("sound").onclick = transform(document.getElementById("pic")); 
} 

function transform (pic) { 
pic.src = ""; 
alert ("done"); 
} 

問題は、私はページをロードする際、Javascriptのコードが自動的に私はサウンドオブジェクト上(自動起動がfalseに設定されている)遊びをクリックしなくても実行されることです。誰かがこれを引き起こしているものとしてアイデアを持っていますか?

ありがとうございます!

+2

あなたは 'changePic()'を実行しているときに、IEの中で 'element.addEventListener'と' element.attachEvent'のようなイベントを添付するべきです。 – JCOC611

答えて

3

あなたがonclick = transform(...)を書くとき、あなたはtransformを呼び出し、onclickに結果を代入しています。

あなたはこのように、transformを呼び出す無名関数にハンドラを設定する必要があります。

document.getElementById("sound").onclick = function() { 
    transform(document.getElementById("pic")); 
}; 

しかし、これは、イベントを追加するには間違った方法です。
element.addEventListener/element.attachEventに電話する必要があります。 (または単にjQueryを使う)

+0

助けてくれてありがとう! – atm

関連する問題