|
||||
Problem mit dem "Injektieren" von events.
Hallo.
Wenn alle Elemente innerhalb des Dokumentes geladen sind, wird die Funktion sethovereffects bei mir ausgeführt mit 'galleriebild' als Argument. Damit sollen alle Elemente, die diesen name haben, einen onmouseover- und einen onmouse-out gesetzt bekommen. Code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>test</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <meta http-equiv="Content-Style-Type" content="text/css" /><html> <style type="text/css">body {background-color: #696969;}</style> <script type="text/javascript"> function sethovereffects(elemente) { var run = 0; while(CurObj = document.getElementsByName('galeriebild')[run]) { CurObj.onmouseover = "document.getElementsByName('+elemente+')[run].src = 'border.png';"; CurObj.onmouseout = "document.getElementsByName('+elemente+')[run].src = 'emptyfoil.png';"; run++; } } </script> </head> <body onload="sethovereffects('galleriebild');"> <img name="galleriebild" src="emptyfoil.png" alt="bild1" /> <img name="galleriebild" src="emptyfoil.png" alt="bild2" /> <img name="galleriebild" src="emptyfoil.png" alt="bild3" /> </body> </html> Auch die Fehlerkonsole spuckt nichts aus. Alle Bilder mit dem name 'galleriebild' sollen bei onmouseover ihr src-Attribut ändern und bei onmouseout wieder rückgängig gemacht werden. Welche Denkfehler habe ich da in meinem Skript? Geändert von nick (18.07.2007 um 17:24 Uhr) |
Sponsored Links |
|
|||
Zitat:
Code:
CurObj.onmouseover = "document.getElementsByName(\""+elemente+"\")[run].src = 'border.png';"; Code:
CurObj.onmouseover = "document.getElementsByName(\""+elemente+"\")[" + run + "].src = 'border.png';"; Code:
CurObj.onmouseover = "this.src = 'border.png';";
__________________
CSS-Rauch! Nicht einatmen! |
Sponsored Links |
|
|||
Ich hatte vergessen: Event-Handler verlangen eine Funktions-Referenz und kein String.
Code:
function imageMouseOver() { this.src = "xxx.jpg"; } CurObj.onmouseover = imageMouseOver;
__________________
CSS-Rauch! Nicht einatmen! |
|
|||
Zitat:
Robin
__________________
CSS-Rauch! Nicht einatmen! |
|
|||
Zitat:
Robin
__________________
CSS-Rauch! Nicht einatmen! |
|
||||
Und wieso komme ich damit in den Block?
Code:
while(CurObj = document.getElementsByName(elemente)[run]) Und müsste dann nicht wenigstens eine Fehlermeldung dazu kommen? Code:
<a href="#" onclick="alert(document.getElementsByName('galleriebild')[0].onmouseover); return false;">onmouseover-attributwert vom ersten bild ausgeben</a> Wie konnte das denn nur bitte zugewiesen werden? Das ganze Problem ist, dass das event nun da ist, aber nie ausgelöst wird... SELFHTML: HTML/XHTML / Referenz /HTML-Attribut-Referenz Zitat:
// edit Was heißt hier name nicht benutzen? Es matcht alle Elemente mit dem selben name als Array, womit man jedes einzelne beeinflussen kann, unabhängig von einer bestimmten Menge oder id-nummerierung. Einfach jedem Bild im Doukment dieses namens sein event injektieren. Geändert von nick (19.07.2007 um 18:45 Uhr) |
Sponsored Links |
Themen-Optionen | |
Ansicht | |
|
|
Ähnliche Themen | ||||
Thema | Autor | Forum | Antworten | Letzter Beitrag |
Problem mit dem Browserabstand | Phöney | CSS | 2 | 05.04.2008 16:18 |
Problem mit dem IE7 | uspri | CSS | 11 | 16.12.2006 18:07 |
Problem mit dem einbinden von Flash | Lockhead883 | (X)HTML | 0 | 01.03.2006 07:09 |
problem mit dem ie beim anzeigen von infoboxen /alternative | Mythic | CSS | 2 | 01.02.2006 10:36 |
problem mit dem JS für css-menü | nevermind | Serveradministration und serverseitige Scripte | 4 | 25.01.2006 12:46 |