Martin S.: Bei Mausklick: onClick oder href verwenden?

Nabend,

wenn ich einen Link mit einem JavaScript-Ereignis verknüpfen möchte - empfiehlt sich da die Nutzung des href="" Attributs, des onClick-Events, oder vielleicht beides?

Ich verwende momentan beides, frage mich aber ob ich das href nicht einfach durch ein #  füllen könnte.

Gruß
Martin

  1. Hallo Martin,

    ich würde beides lassen, da sonst die Bots der Suchmaschinen (z.B. Google-Bot) dem Link nicht folgen können. Das Ergebnis wäre, dass die Zielseite von den Bots nicht gefunden wird.

    Grüße,
    Chris

    Nabend,

    wenn ich einen Link mit einem JavaScript-Ereignis verknüpfen möchte - empfiehlt sich da die Nutzung des href="" Attributs, des onClick-Events, oder vielleicht beides?

    Ich verwende momentan beides, frage mich aber ob ich das href nicht einfach durch ein #  füllen könnte.

    Gruß
    Martin

    1. Nabend,

      ich würde beides lassen, da sonst die Bots der Suchmaschinen (z.B. Google-Bot) dem Link nicht folgen können. Das Ergebnis wäre, dass die Zielseite von den Bots nicht gefunden wird.

      Also meine Seite ist an sich SEHR suchmaschinen-freundlich. Die dynamischen Seiten, die eigentlich per Parameter in der URL aufgerufen werden, werden durch mod_rewrite als herkömmliche html-Seite getarnt. Und JavaScript verwende ich nur dort, wo es auch ohne JS einwandfrei funktioniert.

      In diesem Fall habe ich eine Seite mit verschiedenen Einstellmöglichkeiten. Sofern JS aktiviert ist, werden einige davon (die nicht so wichtig, bzw. eher für Fortgeschrittene sind) ausgeblendet und sollen über einen Button "Erweitert" eingeblendet werden können.

      Dafür brauch ich die JavaScript-Lösung - die Suchmaschinen sehen die komplette Seite.

      Grüße
      Martin

  2. @@Martin S.:

    wenn ich einen Link mit einem JavaScript-Ereignis verknüpfen möchte

    Was hat das eine mit dem anderen zu tun?

    empfiehlt sich da die Nutzung des href="" Attributs, des onClick-Events, oder vielleicht beides?

    Das 'href'-Attribut für das Ziel des Links (auch ohne JavaScript erreichbar!!); den 'onclick'-Eventhandler zum Start der JavaScript-Funktion. Soll nach Ausführung der JavaScript-Funktion dem Link nicht gefolgt werden, ist ''return false' angesagt.

    frage mich aber ob ich das href nicht einfach durch ein #  füllen könnte.

    Das wäre grober Unfug. Warum soll nach Ausführung der JavaScript-Funktion zum Seitenanfang gesprungen werden?

    Live long and prosper,
    Gunnar

    --
    „Das Internet ist ein großer Misthaufen, in dem man allerdings auch kleine Schätze und Perlen finden kann.“ (Joseph Weizenbaum)
    1. Das 'href'-Attribut für das Ziel des Links (auch ohne JavaScript erreichbar!!); den 'onclick'-Eventhandler zum Start der JavaScript-Funktion. Soll nach Ausführung der JavaScript-Funktion dem Link nicht gefolgt werden, ist ''return false' angesagt.

      Okay, vielleicht war ich etwas spärlich mit den Informationen. Es geht nicht um den Link von einer Seite zu einer anderen, sondern darum, mittels JavaScript auf der Seite ein paar DIV-Elemente ein- bzw. auszublenden. Eine reine Komfortleistung, bei deaktiviertem JS sind alle Elemente eingeblendet.

      Ich hatte nur mal gehört, dass ältere Browser das onclick-Event nicht verstehen, aber darauf reagieren, wenn im href="" der JavaScript-Befehl drin steht. Ich weiß aber nicht mehr, wie alt diese Browser waren, ob das überhaupt Sinn macht, den href dafür zu verwenden - aber da ich ihn nicht anderweitig brauche, könnte ich ihn verwenden.

      Bleibt nur die Frage: Macht das Sinn? Sollte ich das ansonsten einfach ganz leer lassen?

      Grüße
      Martin

      1. Hi,

        Ich hatte nur mal gehört, dass ältere Browser das onclick-Event nicht verstehen, aber darauf reagieren, wenn im href="" der JavaScript-Befehl drin steht.

        *Wie* alt sollen diese Browser sein ...?

        Ich weiß aber nicht mehr, wie alt diese Browser waren,

        Aha :-)

        ob das überhaupt Sinn macht, den href dafür zu verwenden - aber da ich ihn nicht anderweitig brauche, könnte ich ihn verwenden.

        Bleibt nur die Frage: Macht das Sinn?

        Nein.
        Browser, die *so* alt sind, dass sie mit onclick nicht umgehen koennen, werden hoechstvermutlich auch mit dem restlichen Javascript-Code zum ein-/ausblenden nichts anfangen koennen.

        Sollte ich das ansonsten einfach ganz leer lassen?

        Ganz einfach: Wenn du nicht auf eine Ressource verlinken willst, dann nutze keinen Link.
        Klickbuttons bieten sich eher an. Deren Aussehen mag im jeweiligen Kontext vielleicht nicht gefallen - wenn sich das per CSS nicht in hinreichendem Umfang aendern laesst, dann kann man auch onlick auf einem anderen Element, bspw. einem nur Text enhaltenden Span, verwenden. Dann sollte man beim hinzufuegen der onclick-Funktionalitaet allerdings auch per Javascript einen tabIndex setzen, damit er auch per Tastatur ansteuerbar wird.

        MfG ChrisB

      2. Hi!

        Es klingt ja so, als ob Du ein Formular anbietest, in dem User Einstellungen vornehmen koennen. Deshalb kannst du auch gleich eines dafuer benutzen und deine Links, wie von ChrisB beschrieben, auch mit Klickbuttons umsetzen. (Oder Checkboxen, Selects,...)

        Hey! Es gibt ja ploetzlich lustige Buttons hier im Forum, mit denen man seinen Text als Code markieren kann! Seit wann hats den sowas hier? (Man sollte allerdings was ausgewaeht haben, sonst wirds unschoen... Ist das gewollt? (bei mir wird der Code dann in die Buttons geschrieben)

        1. Hallo Steel!

          Hey! Es gibt ja ploetzlich lustige Buttons hier im Forum, mit denen man seinen Text als Code markieren kann! Seit wann hats den sowas hier?

          Seit diesem Beitrag?

          Merke: molilys Beiträge immer lesen!

          Viele Grüße aus Frankfurt/Main,
          Patrick

          --

          _ - jenseits vom delirium - _
          [link:hatehtehpehdoppelpunktslashslashwehwehwehpunktatomicminuseggspunktcomslash]
          Nichts ist unmöglich? Doch!
          Heute schon gegökt?
          1. Heyho!

            Seit diesem Beitrag?

            Merke: molilys Beiträge immer lesen!

            Hm. Das kommt davon, wenn man mal keine Zeit hat sich durchzulesen was seit dem letzten Forumsbesuch so passiert ist. Schliesslich muss ich auf der Arbeit auch mal arbeiten. Mein Arbeitgeber ist da sehr altmodisch. ;)