Der folgende Beitrag wurde am 10. 08. 2008, 16:42 Uhr von Pete veröffentlicht.
Hi
Ich hab folgende Funktion:function selDown(el){
el.style.backgroundColor = '#8492B5';
}
diese erwartet als Parameter ein Element. Wenn ich nun diese Funktion einem Element als Eventhanlder hinzufügen möchte (Muss nur Internet Explorer tauglich sein) entweder per attachEvent oder klassisch element.onclick = xy;
Wie kriege ich in diesen Parameter das jeweilige Element?
Der folgende Beitrag wurde am 10. 08. 2008, 17:36 Uhr von Axel Richter veröffentlicht.
Hallo,
> Ich hab folgende Funktion:
> function selDown(el){
> el.style.backgroundColor = '#8492B5';
> }
>
> diese erwartet als Parameter ein Element. Wenn ich nun diese Funktion einem Element als Eventhanlder hinzufügen möchte (Muss nur Internet Explorer tauglich sein) entweder per attachEvent oder klassisch element.onclick = xy;
>
> Wie kriege ich in diesen Parameter das jeweilige Element?
Das musst Du in diesem Fall wahrscheinlich gar nicht. Bei einem Eventhandler zeigt this in der Eventhandlerfunktion auf das Objekt, welches den Event ausgelöst hat. Siehe selDown1 in meinem Beispiel.
Solltest Du wirklich einen Parameter übergeben müssen, geht das innerhalb einer anonymen Funktion der Form:
var func = function() { };
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>Beschreibung der Seite</title>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
<script type="text/javascript">
<!--
function selDown1(){
this.style.backgroundColor = '#8492B5';
}
function selDown2(el){
el.style.backgroundColor = '#8492B5';
}
window.onload = function() {
document.getElementById('p1').onclick = selDown1;
document.getElementById('p2').onclick = function() { selDown2(this) };
};
//-->
</script>
</head>
<body>
<h1>Test</h1>
<p id="p1">Test</p>
<p id="p2">Test</p>
</body>
</html>
viele Grüße
Axel
Der folgende Beitrag wurde am 10. 08. 2008, 19:42 Uhr von Pete veröffentlicht.
> > Wie kriege ich in diesen Parameter das jeweilige Element?
> Das musst Du in diesem Fall wahrscheinlich gar nicht. Bei einem Eventhandler zeigt this in der Eventhandlerfunktion auf das Objekt, welches den Event ausgelöst hat. Siehe selDown1 in meinem Beispiel.
> function selDown1(){
> this.style.backgroundColor = '#8492B5';
> }
Wieder was gelernt, genau das habe ich gemeint.
Vielen Dank
© 1998-2013 SELFHTMLImpressumSoftware: Classic Forum 3.4