[JS]- Nie działająca funkcja obsługi zdarzenia


(Ryan370z) #1
IkonaBudzik = document.getElementById("IkonaBudzik").onClick=document.write("lol");

Kod JS

[/code]

Kod HTML

Gdy odświeżę stronę od razu skrypt wypisuje 'lol' na stronie. Dlaczego?


(adpawl) #2
onload = myonclick;

function myonclick(){

document.getElementById('IkonaBudzik').onclick = Function('document.write("lol");');

}

Ale polecał bym jednak skorzystać z jquery


(Ryan370z) #3

A czy nie da się użyć prostszej formy?


(adpawl) #4

możesz spróbować samo

document.getElementById('IkonaBudzik').onclick = Function('document.write("lol");');

(Ryan370z) #5
onload = myonclick;

function myonclick(){

document.getElementById('IkonaBudzik').onclick = Function('document.write("lol");');

}

Ta metoda działa, ale zdjęcie budzika po napisaniu 'lol' znika, a na adresie na końcu pojawia się znak '#'. Można zrobić tak, aby zdjęcie widniało nadal?


(adpawl) #6

to może daj

document.getElementById('IkonaBudzik').onclick = Function('document.getElementById("tutaj").innerHTML="lol";');

a tam gdzie ma się pojawić tekst

[/code]

(Damgora) #7

jeśli napis ma być dodany za obrazkiem:

document.getElementById('IkonaBudzik').onclick = function(){

		this.parentNode.appendChild(document.createTextNode('lol'));

		this.onclick = null;

	}

lub:

document.getElementById('IkonaBudzik').onclick = function(){

		this.parentNode.innerHTML += 'lol';

	}

(choć pierwsze rozwiązanie uważam za lepsze)