Sebastian Lorenz: onclick ohne Scrollen

Hallo,

ich habe folgendes Problem.

Wenn ich einen Link mit onclick versehe, so muß ich ja einen Link nach '#' machen, damit das von allen Browser ausgeführt wird:

<a href="#" onclick="onclickaktion();">

Das ist so weit auch ok. Wenn dieser Link allerdings weiter unten auf der Seite ist, so scrollt der Browser automatisch nach ganz oben. Also nach '#'.

Kann man das irgendwie abstellen ?
Eine Möglichkeit wäre vor den Link einen nummerierten Anker zu legen. z.B. e1 bis e10 und dann anstatt '#' '#e10' zu benutzen. Aber auch hierbei scrollt das System 'ein wenig'. Abgesehen davon ist das meiner Meinung nach zu aufwändig.

Vielen Dank schon ein mal für alle Anregungen!!

Bye,

Sebastian

  1. Hallo

    Wenn ich einen Link mit onclick versehe, so muß ich ja einen Link nach '#' machen, damit das von allen Browser ausgeführt wird:

    <a href="#" onclick="onclickaktion();">

    Lösung:

    <a href="waswessich.html" onclick="onclickaktion();return false">

    Das "return false" sagt dem Browser, daß er den href-Teil nicht
    ausführen soll, wenn Javascript jedoch abgeschaltet ist, wird der Link
    ganz normal ausgeführt.

    Falls der Javascriptlink ein neues Fenster öffnen soll, kannst du,
    für abgeschaltetes Javascript, auch noch ein target="_blank" einfügen.

    Tschö, Auge

    --
    Die Musik drückt aus, was nicht gesagt werden kann und worüber es unmöglich ist zu schweigen.
    (Victor Hugo)
  2. Hi,

    Wenn ich einen Link mit onclick versehe, so muß ich ja einen Link nach '#' machen, damit das von allen Browser ausgeführt wird:

    <a href="#" onclick="onclickaktion();">

    Wenn ein Eventhandler den Rückgabewert false hat, wird die Default-Aktion nicht ausgeführt.

    Das ist so weit auch ok. Wenn dieser Link allerdings weiter unten auf der Seite ist, so scrollt der Browser automatisch nach ganz oben. Also nach '#'.

    Kann man das irgendwie abstellen ?
    Eine Möglichkeit wäre vor den Link einen nummerierten Anker zu legen. z.B. e1 bis e10 und dann anstatt '#' '#e10' zu benutzen. Aber auch hierbei scrollt das System 'ein wenig'. Abgesehen davon ist das meiner Meinung nach zu aufwändig.

    Warum davor? Wenn schon, dann in einem: <a name="e10" href="#e10" ...
    Aber wie gesagt, es gibt eine saubere Lösung, s.o.

    cu,
    Andreas

    --
    Der Optimist: Das Glas  ist halbvoll.  - Der Pessimist: Das Glas ist halbleer. - Der Ingenieur: Das Glas ist doppelt so groß wie nötig.
    http://mud-guard.de/? http://www.andreas-waechter.de/ http://www.helpers.de/
    1. hallo! :-)

      »» Wenn ich einen Link mit onclick versehe, so muß ich ja einen Link nach '#' machen, damit das von allen Browser ausgeführt wird:
      »» <a href="#" onclick="onclickaktion();">
      Wenn ein Eventhandler den Rückgabewert false hat, wird die Default-Aktion nicht ausgeführt.

      Warum davor? Wenn schon, dann in einem: <a name="e10" href="#e10" ...
      Aber wie gesagt, es gibt eine saubere Lösung, s.o.

      zumal selbst die "all in one"-lösung zum oberen fensterrand springen würde. auf die idee mit "false" bin ich aber auch nicht gekommen - wieder was gelernt. :-D

      einen schönen abend wünscht raik