Kahmoon
Erfahrenes Mitglied
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?
Wo ist der Fehler?
Wenn ich die Seite mit folgendem Code aufrufe, führt er die Folgefunktion (popup) direkt aus. Warum? Sollte nicht erst bei onclick etwas passieren?
Javascript:
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:
<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?
Zuletzt bearbeitet von einem Moderator: