Jan Bro: Kmbination mit JavaScript

Hallo Forum, ich bekomme folgendes einfach nicht hin:

Ich habe einen Link mit Hover etc. Effekt. + Einen Link der ein javascript Fensterchen öffnet. Nun möchte ich beides kombinieren.
Aller dings nicht zu:

<br><a href="" onclick="fenster('./anbieter.php?anbieter=$id_anbieter')">      TEST      </a>

sondern ich möcht nur den Hover Effeckt behalten, bei Klick soll sich
nur die Funktion aufrufen, kein öffnen einer neuen Seite durch
den Link mit Hover Effekt.

<!--
<SCRIPT LANGUAGE="JavaScript1.2">
   function fenster(URL)
      {
 f1=document.open URL,"","scrollbars,resizable,width=400,height=400")
   }
  </script>

</head>

<style type="text/css">

a:link { style="font-family:Arial,sans-serif";style="font-size:8pt"; text-decoration:none; font-weight:bold; color:#000000; }
     a:visited { text-decoration:none; font-weight:normal; color:#0f909F; }
    a:hover { text-decoration:none; font-weight:normal; background-color:#FF8800;color:#FFFFFF;width=100% }

</style>

<a onClick="fenster('./anbieter.php?anbieter=$id_anbieter')">      TEST      </a>

<br><a href="" >      TEST      </a>

</body>
</html>
-->

thx
Jan

  1. hi,

    <br><a href="" onclick="fenster('./anbieter.php?anbieter=$id_anbieter')">

    nach Funktionsruf unbedingt ein return false, um den Html-Link abzuschalten:
    <a href="#" onclick="fenster('...'); return false;">

    f1=document.open

    open ist eine Window-Methode, ausserdem fehlt da die oeffnende Klammer.
    Lies dazu in der hiesigen Javascript Referenz nach.

    Gruesse  Joachim

    1. thx, die Klammer ist mir beim Kopieren verloren gegangen.
      Dieses return false, wie funktioniert das? Woher weiß der Browser,
      den href Teil zu ignorieren?
      Wäre nett wenn Du mir da noch einen Tipp geben könntest. Sonst funktioniert die Sache prima.

      1000 Dank
      Jan

      1. Hi,

        Dieses return false, wie funktioniert das? Woher weiß der Browser,
        den href Teil zu ignorieren?

        onclick ist ein Javascript-Eventhandler. Wenn der Event feuert werden definierte Javascript-Anweisungen ausgefuehrt, und zwar _vor_ dem Aufruf des Html-Links.
        Wenn nun der return wert dieser Anweisungen false ist, wird die Html-Aktion abgebrochen. Das ist hier wichtig, da es sonst zu Verwirrungen kommt, da Browser "denkt", er koenne die aktuelle Seite "vergessen". (Sanduhren, gestoppte Anim-Gifs, unvollstaendige Abarbeitung der JS-Anweisungen etc. )
        Vergleiche auch die JS-Formularueberpruefung per onsubmit, Formular korrekt = return true, andernfalls = return false: Formularversand abgebrochen.

        Btw: es empfiehlt sich, anstelle des # eine Alternativ-Url anzugeben, die dann aufgerufen wird, wenn JS deaktiviert ist.

        Gruesse  Joachim