Externer Link zu Javascript kann nicht erstellt werden: void ();

7

Während ich einen Beitrag über Menüelemente ohne tatsächlichen Link schrieb , stieß ich in Joomla 3.3.3 auf ein seltsames Verhalten:

Ich wollte darauf hinweisen, dass ein <a>Tag, auf den verlinkt wird, "#"dazu führen kann, dass die Seite beim Klicken nach oben gescrollt wird, und dass es möglicherweise besser ist, sie javascript:void();im Linkfeld für den External URLMenüpunkt zu verwenden. ( Dieser Artikel erklärt warum.)

Früher habe ich das selbst gemacht, aber jetzt habe ich festgestellt, dass es in Joomla 3.3.3 nicht gespeichert werden kann, wenn das Linkfeld enthält javascript:void();. Schauen Sie sich diesen Screenshot an (vor und nach dem Klicken auf die Schaltfläche "Speichern"):

Vor und nach dem Speichern

Ich habe es gerade auf einer älteren Joomla-Version (3.0.3) getestet und konnte es trotzdem javascript:void();im Linkfeld verwenden.

Ist dies ein Fehler in neueren Versionen von Joomla oder wurde entschieden, dass das Verknüpfen mit Javascript irgendwo zwischen J3.0.3 und J.3.3.3 nicht mehr zulässig ist?

johanpw
quelle

Antworten:

3

Als Ergänzung zu Valentins Antwort können Sie einem Menüelement Javascript-Code hinzufügen :

  • Erstellen Sie einen benutzerdefinierten Link-Menüpunkt
  • Fügen Sie #im Linkfeld hinzu
  • Behandeln Sie das Klickereignis, indem Sie an anderer Stelle auf der Seite (z. B. in der Fußzeile) Javascript hinzufügen.

Beispiel:

jQuery(document).ready(function($){   
  $(".menuitemclass").click(function () {
    //your javascript function;     
  });
});
johanpw
quelle