molily: Auf Linkklick reagieren, statt weiterleiten, Ajax nutzen

Beitrag lesen

document.getElementById("Navigation2").onclick = zeigeSeite;

Wenn du im HTML auch genau <ul id="Navigation2"> notiert hast, müsste das klappen.

Das getElementById funktioniert natürlich nur,

  • wenn das <script>..</script> im HTML-Quellcode nach der Navigation folgt,
  • oder du den Code beim window.onload aufrufst.

window.onload = function () {
   // Event-Handler registrieren
};

http://molily.de/js/einbindung.html#ereignisbasierung
http://molily.de/js/einbindung.html#traditionelles-event-handling

function zeigeSeite (e) {
   var e = e || window.event;
   var target = e.target || e.href;

Wieso hast du diese Zeile abgewandelt? Sie dient zum browserübergreifenden Zugriff auf das Zielelement. Da sollte schon e.target || e.srcElement stehen. (srcElement ist die Variante für den IE.)

var elementName = target.nodeName,
      aElement = false;
   // Überprüfe, ob das Zielelement ein Link oder ein Bild im Link ist:
   if (elementName == "a") {

Das ist schon richtig gedacht, allerdings gibts hier einen Fallstrick:

nodeName gibt einem den Elementnamen immer in Großschreibung zurück (zumindest in HTML und XHTML-als-HTML, nicht in XHTML-als-XML).

Entweder prüfst du also

if (elementName == "A") ...

oder du vereinheitlichst das, indem du mit toLowerCase Kleinschreibung erzwingst:

var elementName = target.nodeName.toLowerCase(),
   aElement = false;

Mathias