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?

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;     
  });
});
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.