ERLEDIGT
JA
JA
ANTWORTEN
4
4
ZUGRIFFE
1283
1283
EMPFEHLEN
-
Ich will in einem bestimmten Div alle Links auslesen und ihnen einen Listener für "click" verpassen. (Hintergrund ist das Redakteure dort Links einpflegen aber kein Plan von Javascript und HTML haben. Somit fällt es aus jedem Link ein "onclick" zu geben.)
Wenn ich die Seite mit folgendem Code aufrufe, führt er die Folgefunktion (popup) direkt aus. Warum? Sollte nicht erst bei onclick etwas passieren?
Code javascript:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
window.onload = function() { var div = document.getElementById("mmtztv"); var links = div.getElementsByTagName("a"); for(var i=0;i<links.length;i++) { //Listener aufbauen if (links[i].addEventListener) { links[i].addEventListener("click", popup(links[i].href), true); } else if (links[i].attachEvent) { links[i].attachEvent("onclick", popup(links[i].href)); } else { return false; } } } function popup(url) { var win = window.open(url, "test", "width=800, height=600"); }
HTML-Code:<div id="mmtztv"> <a href="http://www.tz-online.de">Link 1</a> <a href="http://www.merkur-online.de">Link 2</a> </div> <a href="#link3">Link 3</a>
Wo ist der Fehler?
Supermoto München :: Agentur für Webdesign, SEO und SEA - mediastuff.de :: Guter Provider gesucht?
"Lattenrost ist keine Geschlechtskrankheit!"
-
Sowohl addEventListener als auch attachEvent erwarten als 2. Parameter lediglich den Namen der Funktion, die Mitgabe von Parametern ist nicht möglich.
So kannst du es aber lösen:
Code :1 2 3 4
for(var i=0;i<links.length;i++) { links[i].onclick=new Function('popup(this.href)'); }
-
Echt? Verdammt
. Alles klar....werde Deine Lösung versuchen.
Noch eine Frage. Bisher hatten die Links ein Parameter return false um nicht auf der Hauptseite den Link zu öffnen sondern nur im Popup.
Kann ich das aus der Funktion auch bewerkstelligen?HTML-Code:<a href="mein Link" onclick="meine funktion(this.href);return false;" >Mein Linktext</a>
Supermoto München :: Agentur für Webdesign, SEO und SEA - mediastuff.de :: Guter Provider gesucht?
"Lattenrost ist keine Geschlechtskrankheit!"
-
Das mit dem return kann da auch hinein...
schreib halt das dort hinein, was du direkt im onclick des Links notieren würdestCode :1 2 3 4
for(var i=0;i<links.length;i++) { links[i].onclick=new Function('[B]popup(this.href);return false;[/B]'); }
-
Alles klar..auch wenn ich es nicht ganz checke. Funktionieren tut es....

Gibts irgendwie ne Doku zu obj.onclick = ? Finde irgendwie nichts zu dieser Schreibweise. Das scheint ja in allen Browser zu klappen.Geändert von Kahmoon (19.11.07 um 14:44 Uhr)
Supermoto München :: Agentur für Webdesign, SEO und SEA - mediastuff.de :: Guter Provider gesucht?
"Lattenrost ist keine Geschlechtskrankheit!"
Ähnliche Themen
-
tutorial zu eventhandler
Von H2SO4 im Forum .NET Windows FormsAntworten: 1Letzter Beitrag: 26.06.07, 13:53 -
javascript eventhandler Frage
Von nice2kn0w im Forum Javascript & AjaxAntworten: 1Letzter Beitrag: 28.05.07, 20:02 -
EventHandler
Von Jo-Jo im Forum .NET Windows FormsAntworten: 2Letzter Beitrag: 27.04.07, 08:49 -
Eventhandler
Von hugo72 im Forum .NET CaféAntworten: 1Letzter Beitrag: 05.04.07, 07:52 -
Frage zu "verhalten"
Von Gullynbg im Forum HTML-EditorenAntworten: 5Letzter Beitrag: 06.10.02, 18:20





Zitieren
Login





