• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

Wie Parameter zu EventHandlers übergeben?

Isco

New member
Hallo!

Hab hier eine Aufgabe und komm nicht drauf ...
Und zwar hab ich hier eine vorgegebene Methode clicked, wo der mode fix auf 'log' ist. Siehe Code unten

Und ich muss jetzt auf die zwei inneinander geschachtelte divs, Eventlistener registrieren, die dann feuern.

Habs so versucht, aber funktioniert nicht:
Code:
// krieg Exception
var funcClicked = clicked(this);
document.querySelector('#outer').addEventListener('click', funcClicked('log'), false);
document.querySelector('#inner').addEventListener('click', funcClicked('log'), false);

HTML:
<html>
<body>

<div id="outer" style="width:700;height:500;background-color:silver">Outer
	<div id="inner" style="width:500;height:300;background-color:blue;margin:50px;top:20px;position:relative">Inner</div>
</div>

<script>


function clicked(e,mode) {
	if (mode == 'log') {
		console.log("This:" + this.id);
		console.log("Target:" + e.target.id);
		console.log("Current Target:" + e.currentTarget.id);
		e.stopPropagation();
	}
}

</script>
</body>

</html>

Jemand einen Rat?
 
Zuletzt bearbeitet von einem Moderator:
Du kannst einem Event Listener Callback keine Parameter mitgeben. Das nächstbeste wäre ein Closure oder eine Funktion, die besagte Parameter bereits enthält.

Code:
function log(e)
{
  clicked(e, 'log')
}
 
Zurück
Oben