Lieber heinetz,
Gunnar hat Dir ja schon sehr hilfreiche Links gegeben, wenngleich Anfänger damit ein mittleres bis großes Verständnisproblem, und wenn nicht Verständnis-, so doch ein Umsetzungsproblem haben.
Im Grunde musst Du in Deiner durch das onclick-Event aufgerufenen Funktion prüfen, auf welches Element der Klick selbst ausgeführt wurde. Dazu gibt es im Event je mach Browser eine passende Eigenschaft:
function clickEventHandler (e) {
var clickElement = false; // zunächst von Fehler ausgehen
if (!e && window.event) e = window.event; // für IE das Event-Objekt holen
if (e.srcElement) clickElement = e.srcElement; // IE
if (e.target) clickElement = e.target; // W3C DOM
alert("Angeklicktes Element: " + clickElement);
}
myDiv.onclick = clickEventHandler;
Wie man oben sehen kann, wird in W3C-DOM-kompatiblen Browsern bei einem Event ein Parameter (siehe Variable "e") mitgegeben, der eine Referenz auf das (in diesem Fall "click"-)Event enthält. Für IE muss man sich eine Referenz über das window-Objekt holen. Und dann gibt es im IE die Eigenschaft "srcElement", in W3C-DOM-kompatiblen Browsern dafür "target", um das tatsächlich angeklickte Element zu ermitteln.
Du musst nun nur prüfen, ob das tatsächlich angeklickte Element ein <a>-Element ist, um in diesem Falle die weitere Ausführung Deiner Funktion abzubrechen (return true;
).
function anzeigen (e) {
var el;
if (!e && window.event) e = window.event; // IE
if (e.srcElement) el = e.srcElement; // IE
if (e.target) el = e.target; // W3C DOM
if (el && el.tagName && el.tagName.toLowerCase() == "a")
return true; // <a> has been clicked!
doSomethingElse();
return true;
}
/* WICHTIG!!! Event-Parameter mitgeben! */
rightsectionObj.onclick = function (e) { anzeigen(e); };
// oder eleganter:
rightsectionObj.onclick = anzeigen;
Noch Fragen?
Liebe Grüße,
Felix Riesterer.
ie:% br:> fl:| va:) ls:[ fo:) rl:° n4:? de:> ss:| ch:? js:) mo:} zu:)