[js] Dolaczanie eventow do tagow poza html

HTML to podstawy w dziedzinie tworzenia stron WWW, Style CSS warto opanować, bowiem za ich pomocą można dostosować odpowiednio wygląd swojej witryny WWW. Zagłębiamy się dalej i udostępniamy w tym forum możliwość zadawania pytań o JavaScript.
ODPOWIEDZ
follow_me
Posty: 3
Rejestracja: wt lis 21, 2006 12:16 pm

[js] Dolaczanie eventow do tagow poza html

Post autor: follow_me »

Kod html :
]code]
<div id="menu">

<ul>
<li>Home</li>
<ul>
<li>Offer</li>
<li>Prices</li>
<li>Contact</li>
</ul>
</ul>
</div> [/code]


Kod JS

Kod: Zaznacz cały

function menu()
{
var wsk = document.getElementById("menu").getElementsByTagName("li")

for(var i=0;i<wsk.length;i++)
    { 
    wsk[i].onMouseOver = alert("test")
    }
}

window.onload = menu;
Testowalem kod pod IE i pod FF i jest to samo , wiadomosci od alerta wyskakuja przy ladowaniu okna a nie tak jak powinno byc po najechaniu na tag <li> , wie ktos czemu ?
123456
Zaczyna działać
Zaczyna działać
Posty: 514
Rejestracja: sob paź 28, 2006 1:19 pm

...

Post autor: 123456 »

Kod: Zaznacz cały

window.onload = menu; 
Pewnie dlatego ze wywolujesz funkcje przy zaladowaniu.
Sprobuj nadac kazdemu <li> wlasne id i wywolanie funkcji bezposrednio w tagu. Wtedy bedzie dzialac tak jak chcesz. Ale to jest najprostszy sposob, ktory nie zawsze jest odpowiedni.
koziolek
Przelotem
Przelotem
Posty: 387
Rejestracja: sob paź 21, 2006 10:07 pm
Kontakt:

Re: [js] Dolaczanie eventow do tagow poza html

Post autor: koziolek »

Jest kilka błędów.
1) JS jest czuły na wielkość liter. Tym samym onMouseOver != onmouseover. Poprawna jest nazwa napisana małymi literami.
2) przypisanie

Kod: Zaznacz cały

element.onmouseover = alert("test");
spowoduje przypisanie do pola onmouseover dla elementu element wartości zwróconej przez metodę alert(). Dodatkowo JS wywołuje tą metodę.
prawidłowo może (jedna z wersji) wyglądać to w ten sposób:

Kod: Zaznacz cały

element.onmouseover = function(){
 alert("test");
}
w ten sposób dla element.onmouseover przypisujesz funkcję do wykonania.
follow_me
Posty: 3
Rejestracja: wt lis 21, 2006 12:16 pm

...

Post autor: follow_me »

Kod:
window.onload = menu;

Pewnie dlatego ze wywolujesz funkcje przy zaladowaniu.
Ale musze wywolac ta funkcje przy ladowaniu okna bo juz przy ladowaniu okna chce przyporzadkowac eventy 'onmouseover' do tagow <li>
Sprobuj nadac kazdemu <li> wlasne id i wywolanie funkcji bezposrednio w tagu.
To sie mija z celem bo wywolanie funkcji z tagu ma robic wlasnie ten kod
follow_me
Posty: 3
Rejestracja: wt lis 21, 2006 12:16 pm

Re: [js] Dolaczanie eventow do tagow poza html

Post autor: follow_me »

Dziala , thx
ODPOWIEDZ