Warum gibt target.id "undefined" zurück
Sebastian
- javascript
Hi Leute,
warum erhalte ich bei untenstehenden Beispiel als Ausgabe immer "undefined"?
Wäre nett, wenn mal jemand drüberschauen könnte.
<layer id="Ebene2" left="3" top="21" width="935" height="18" z-index="15" bgcolor="#CCCCCC" visibility="show">
<table id="ta1" border=0 cellspacing=0>
<tr id="tr1">
<td id="td11" width="15" class="zentriert">
<td id="td12" width="120" class="linksb">
<td id="td13" width="85" class="zentriert">rtz
<td width="110" class="linksb">
<td width="70" class="zentriert">
<td width="105" class="zentriert">
<td width="70" class="zentriert">
<td width="155" class="zentriert">
<td width="35" class="rechtsb">
<td width="35" class="linksb">
<td width="70" class="rechtsb">
<td width="15" class="zentriert">
<td width="25" class="zentriert" bgcolor="#663399">
</tr>
</table>
</layer>
<script language="javascript">
window.captureEvents(Event.CLICK);
window.onclick=markiere;
function markiere(e)
{
alert(e.target.id);
}
</script>
Danke und Tschüß
Sebastian
Hallo Sebastian!
Wo übergibst du den Parameter "e" ?? Hab ich da was übersehen?
Gruß
Martin
hi Martin,
Wo übergibst du den Parameter "e" ?? Hab ich da was übersehen?
Nein hast Du nicht, der syntax ist schon richtig so. Das Eventobjekt übergibt automatisch das überwachte Ereignis beim Eintreten an die aufgerufene Funktion. Man darf keinen zusätzlichen Parameter übergeben(auch die klammern sind wegzulassen), da dies zu einem Fehler führt.
Das ganze kann man auch unter SelfHtml nachlesen unter eventhandling(netscape).
Ciao
Sebastian
Hallo Sebastian!
Das ganze kann man auch unter SelfHtml nachlesen unter eventhandling(netscape).
Hab ich getan und bin jetzt schlauer; allerdings nicht in Bezug auf dein Prob. Hab mal kurz was geschrieben zum Testen aber bei mir (im IE5.0) ist "Event" selbst undefiniert ?
Gruß
Martin
Hallo Sebastian!
Das ganze kann man auch unter SelfHtml nachlesen unter eventhandling(netscape).
Hab ich getan und bin jetzt schlauer; allerdings nicht in Bezug auf dein Prob. Hab mal kurz was geschrieben zum Testen aber bei mir (im IE5.0) ist "Event" selbst undefiniert ?
Gruß
Martin
Hi Martin,
hast Du schonmal in selfHTML unter Javascript/event(Objekt) nachgelesen?
Zur Erinnerung: <../../tq.htm>
Als letzter Tipp: event wird, wenn das Objekt gemeint ist, klein geschrieben.
Ciao
Sebastian
PS:wäre schön, wenn mir jemand bei meinem Problem helfen könnte.
Hi Sebastian.
Ich arbeite dabei immer in zwei grundsätzlichen Ebenen, eine in der das Zeug angezeigt
wird, darüber eine in der das Event-Handling passiert.
Also bei Dir z.B.:
<html>
<head>
</head>
<style type="text/css">
<!--
.linksb { font-family: System, Courier, "Courier New"; font-size: 10pt; font-style: normal; color:
#000000; text-decoration: none; text-align: left }
.rechtsb { font-family: System, Courier, "Courier New"; font-size: 10pt; font-style: normal; color:
#000000; text-decoration: none; text-align: right}
.zentriert { font-family: System, Courier, "Courier New"; font-size: 10pt; font-style: normal; color:
#00ff00; text-decoration: none; text-align: center}
-->
</style>
<body text="#000000" bgcolor="#FFFFFF" link="#FF0000" alink="#FF0000" vlink="#FF0000">
<layer id="Ebene2" name="Ebene2" left="3" top="21" width="935" height="18" z-index="11" bgcolor="#CCCCCC"
visibility="show">
<table border=0 cellspacing=0>
<tr>
<td width="15" class="zentriert">
<td width="120" class="linksb">
<td width="85" class="zentriert">rtz
<td width="110" class="linksb">
<td width="70" class="zentriert">
<td width="105" class="zentriert">
<td width="70" class="zentriert">
<td width="155" class="zentriert">
<td width="35" class="rechtsb">
<td width="35" class="linksb">
<td width="70" class="rechtsb">
<td width="15" class="zentriert">
<td width="25" class="zentriert" bgcolor="#663399">
</tr>
</table>
</layer>
<layer id="Ebene2a" name="Ebene2a" left="3" top="21" width="935" height="18" z-index="11"
bgcolor="#000080" visibility="hide">
<table border=0 cellspacing=0>
<tr>
<td width="15" class="zentriert">
<td width="120" class="linksb">
<td width="85" class="zentriert">rtz
<td width="110" class="linksb">
<td width="70" class="zentriert">
<td width="105" class="zentriert">
<td width="70" class="zentriert">
<td width="155" class="zentriert">
<td width="35" class="rechtsb">
<td width="35" class="linksb">
<td width="70" class="rechtsb">
<td width="15" class="zentriert">
<td width="25" class="zentriert" bgcolor="#663399">
</tr>
</table>
</layer>
<layer name="sensor" left="3" top="21" width="935" height="18" z-index="12" visibility="show">
<img name="sensorBild" src='img/nix.gif' border=0 width=935 height=18>
</layer>
<script language="javascript">
document.captureEvents(Event.MOUSEDOWN);
document.onmousedown=markiere;
function markiere(ereignis)
{
if(ereignis.target.name && ereignis.target.name=="sensorBild")
{
document.layers["Ebene2"].visibility="hide";
document.layers["Ebene2a"].visibility="show";
}
}
</script>
</body>
</html>
Ich nehm da immer onmousedown, weils mit onclick immer wieder mal Schwierigkeiten gibt.
lg Til
Hi Til,
danke für Deinen Tipp.
Ich habe zwar heute keine Zeit mehr das zu testen, aber werde mich gleich morgen daran setzen. Klingt in jedem Fall vernünftig.
Ciao
Sebastian