Michael: Bild als Eventausloeser

Hi,
ich hab folgendes Problem.

Ich möchte einen Button, asu einem Bild bestehend auf einer Seite haben, den ich anklicken kann und der dann eine javascript function auslöst.

Im Internetexplorer konnte ich das Problem durch eine Imagemap auf dem Bild und dem Event "onClick" lösen.

Beim Netscape 4.6 klappt das leider nicht.
Ich kann auch keinen link benutzen da ich auf der Seite bleiben muss.
Wäre nett wenn mir jemand helfen kann.
cu

  1. Hi,
    ich hab folgendes Problem.

    Ich möchte einen Button, asu einem Bild bestehend auf einer Seite haben, den ich anklicken kann und der dann eine javascript function auslöst.

    Was machen benutzer die Javascript ausgeschaltet haben?

    Im Internetexplorer konnte ich das Problem durch eine Imagemap auf dem Bild und dem Event "onClick" lösen.

    Netscape kenn den onclick event auch bei einer Imagemap, du meinst vermutlich <img onclick="...">

    Beim Netscape 4.6 klappt das leider nicht.
    Ich kann auch keinen link benutzen da ich auf der Seite bleiben muss.

    Wieso nicht?

    <A href="#" onclick="funktion();return false;"><img src="bild.gif"></a>

    struppi.

    1. Im Internetexplorer konnte ich das Problem durch eine Imagemap auf dem Bild und dem Event "onClick" lösen.

      Netscape kenn den onclick event auch bei einer Imagemap, du meinst vermutlich <img onclick="...">

      Also ich habe es so probiert:

      <map name="pfeil_vor"><area shape="rect" coords="0,0,124,15" onclick="seitenwechsel(1,2);"></map>
      <img src="../pfeil_weiter.gif" width="120" height="15" border="0" usemap="#pfeil_vor">

      »

      Wieso nicht?

      <A href="#" onclick="funktion();return false;"><img src="bild.gif"></a>

      und so:

      <a href="#" onclick="NSseitenwechsel(8,9); return false"><img src="../pfeil_weiter.gif" width="120" height="15" border="0"></a>

      macht er beides nicht. :(
      Ich will durch knopfdruck einen layer auf der seite wechseln. Die Funktion ist ok hab ich mit onload getestet aber ich krieg onclick nicht abgefragt:(.

      1. Im Internetexplorer konnte ich das Problem durch eine Imagemap auf dem Bild und dem Event "onClick" lösen.

        Netscape kenn den onclick event auch bei einer Imagemap, du meinst vermutlich <img onclick="...">

        Also ich habe es so probiert:

        <map name="pfeil_vor"><area shape="rect" coords="0,0,124,15" onclick="seitenwechsel(1,2);"></map>
        <img src="../pfeil_weiter.gif" width="120" height="15" border="0" usemap="#pfeil_vor">

        Und was sagt die JS Konsole?

        »

        Wieso nicht?

        <A href="#" onclick="funktion();return false;"><img src="bild.gif"></a>

        und so:

        <a href="#" onclick="NSseitenwechsel(8,9); return false"><img src="../pfeil_weiter.gif" width="120" height="15" border="0"></a>

        macht er beides nicht. :(

        Welcher Fehler tritt auf?
        (beachte, was in der statusleiste steht, du musst 'javascript:' in die URL Leiste eintippen um die Fehler zu sehen)

        Ich will durch knopfdruck einen layer auf der seite wechseln. Die Funktion ist ok hab ich mit onload getestet aber ich krieg onclick nicht abgefragt:(.

        Glaub ich nicht, probier mal:
        <a href="#" onclick="alert('hallo'); return false"><img src="../pfeil_weiter.gif" width="120" height="15" border="0"></a>

        Struppi.

  2. Hallo.

    Ich möchte einen Button, asu einem Bild bestehend auf einer Seite haben, den ich anklicken kann und der dann eine javascript function auslöst.
    [...]
    Ich kann auch keinen link benutzen da ich auf der Seite bleiben muss.

    Das du einen Link verwendest, heißt nicht, dass du auch auf eine andere Seite wechseln musst. Wenn du im onclick return false notierst, wird nicht zum Linkziel gewechselt.
    Beispiel: <a href="#" onclick="alert('BUH!'); return false"><img [...]></a>

    Gruß
    Norbert

    1. Habs jetzt ,al so getestet:

      <script language="JavaScript">
      function NSseitenwechsel(seiteweg,seiteda)
        {
        document.layers[seiteweg].visibility = "hide";
        document.layers[seiteda].visibility = "show";
        }
      </script>
      <a href="#" onclick="NSseitenwechsel(0,1); return false"><img src="../pfeil_weiter.gif" width="120" height="15" border="0"></a>

      klappt nicht. ich seh nur die uhr. Bei deinem test mit alert gings allerdings ?!
      und nu?

      1. Hallo.

        function NSseitenwechsel(seiteweg,seiteda)
          {
          document.layers[seiteweg].visibility = "hide";
          document.layers[seiteda].visibility = "show";
          }

        klappt nicht. ich seh nur die uhr.

        Die Sanduhr? Hmm.

        Bei deinem test mit alert gings allerdings ?!
        und nu?

        Ja, also ich habe es auch ausprobiert und es hat geklappt, sowohl mit
        <layer>Layer #1</layer>
        <layer>Layer #2</layer>
        als auch mit
        <layer name="0">Layer #1</layer>
        <layer name="1">Layer #2</layer>
        und mit
        <div style="position:absolute;">Layer #2</div>
        <div style="position:absolute;">Layer #1</div>.

        Benutzt du vielleicht verschachtelte Layer?
        Dann verstehe ich allerdings nicht, warum nichts passiert, es müsste dann trotzdem der erste Layer (wegen document.layers[0]) verschwinden.
        Na ja, bei verschachtelten Layern musst du die inneren Layer als Unterobjekte der Äußeren behandeln. In folgendem Beispiel wird z.B. auf den Layer "Sohn" mit document.layers["Eltern"].document.layers["Sohn"] zugegriffen:
        <layer name="Eltern">
        <layer name="Sohn">Sohn</layer>
        <layer name="Tochter">Tochter</layer>
        </layer>

        Na ja, vielleicht könntest du noch ein bissel mehr Code posten, Raten ist nämlich nicht unbedingt effektiv.

        Gruß
        Norbert