Geklicktes Element ermitteln

K-Asche

Mitglied
Hallo an alle,

das Problem dabei ist, das dieses Element durch ein CMS gesetzt wurde und keine eigene ID enthält.
Also erstmal kurz worum es geht.
In einem horizontalem Menu soll nach dem ein Link angeklickt wurde, also wenn man auf die Seite verlinkt wurde eine Grafik in den Hintergrund gebracht werden damit man sieht auf welches Seite man sich gerade befindet.

Da ich auch keine OnClick Funktion an den Link bringen kann will ich den OnClick Event dauerhaft abfangen und je nachdem welcher Link geklickt wurde für diesen die Funktion ausführen die die Grafik in den Hintergrund setzt.

Gibt es überhaupt die Möglichkeit dies zu realisieren?

Der einizge Anhaltspunkt den ich hätte wäre der Div Block innerhalb dessen sich das Menü befindet. Diese besitzt eine eigene ID.

Meine Idee wäre evtl. noch das sich anhand der Elemente innerhalb des divs, sprich das Array für die li Elemente der ol oder so ähnlich...ist gar nicht so einfach:)

Wäre klasse wenn mir jemand einen Ansatz nennen könnte.

Was mir gerade aufgefallen ist, man kann im CMS einstellen, das dem Element eine ID gegeben wird wenn es active ist. Also müsste ich ja eher nach Abschluss des onClick Ereignisses handeln...wie könnte man das machen?

Gruß
Karsten
 
Zuletzt bearbeitet:
Vielleicht hilft dir ja das weiter:

HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html id="html" xmlns="http://www.w3.org/1999/xhtml" lang="de" xml:lang="de">
<head>
	<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
	
	<title>e.target</title>
</head>

<body>
	<div id="nav">
		<ul>
			<li><a href="#1">Eins</a></li>
			<li><a href="#2">Zwei</a></li>
			<li><a href="#3">Drei</a></li>
			<li><a href="#4">Vier</a></li>
			<li><a href="#5">Fünf</a></li>
		</ul>
	</div>
	
	<script type="text/javascript">
	/* <![CDATA[ */
		document.getElementById('nav').onclick = function(e) {
			if (!e) e = window.event;
			
			var elem = e.target || e.srcElement;
			
			if(elem.tagName != 'A')
				return;
			
			alert(elem.href);
		};
	/* ]]> */
	</script>
</body>

</html>
 
Zurück