Sebastian: Warum gibt target.id "undefined" zurück

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

  1. Hallo Sebastian!

    Wo übergibst du den Parameter "e" ?? Hab ich da was übersehen?

    Gruß
    Martin

    1. 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

      1. 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

        1. 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.

  2. 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

    1. 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