Snažím se napsat skript, aby se při přehrávání vloženého zvukového objektu změnil obrázek, který mám také vložený.
function changePic() { document.getElementById("sound").onclick = transform(document.getElementById("pic")); } function transform (pic) { pic.src = ""; alert ("done"); }
Problém je v tom, že když načtu stránku, kód Javascriptu se automaticky spustí, i když nekliknu na přehrát (autostart
je nastaven na hodnotu false) na zvukovém objektu. Má někdo nápad, co to způsobuje?
Odpověď
Když napíšete onclick = transform(...)
, voláte transform
a přiřazení výsledku k onclick
.
Musíte nastavit handler na anonymní funkci, která volá transform
, takto:
document.getElementById("sound").onclick = function() { transform(document.getElementById("pic")); };
Toto je však nesprávný způsob přidávání událostí.
Měli byste zavolat element.addEventListener
/ element.attachEvent
. (nebo stačí použít jQuery)