Hallo zusammen,
ich hätte eine kurze Frage an euch und zwar geht es darum, diverse Events in meine Webseite mittels jQuery einzubauen. Beispielsweise möchte ich prüfen, ob auf ein <div> Element einer bestimmten Klasse geklickt wurde und wenn ja, dann hole die Data-Attribute und mach damit etwas. Derzeit verwende ich folgenden Code (RE: jQuery in Joomla 4 einbinden
(function($)
{
$(document).ready(function()
{
$(".divSelector").on("click", function()
{
link = $(this).attr("data-link");
console.log(link);
// 1. Datenbank Inkrementierung (Anzahl der Downloads und anderes mit AJAX)
...
// 2. Aktualisierung der HTML Elemente
...
// 3. Öffne Link
window.open(link);
});
});
})(jQuery);
Alles anzeigen
Folgende Fragen:
- Ich habe über Event-Listener schon gelesen, wäre das hier ggf. angebracht das zu verwenden? Die Implementierung wie oben funktioniert (zumindest) bei mir
- Ist window.open(link) eine gute Wahl? Oder gibt es hierbei noch wesentlich bessere Optionen?
- Wäre es auch möglich, anstelle ein File zu öffnen, auch eine Art »internen Link« zu öffnen, quasi analog zu einem <a> Element
Letzter Punkt wäre dann wie folgt von mir gedacht:
<div class="divSelector" style="height:100px; width="400px" data-link="impressum">
<a href="impressum">Impressum</a>
</div>
Entsprechend kann man auf den <a> Link klicken aber zusätzlich würde ein Klick auf den div Container auch zu einer Weiterleitung führen. Ich finde es persönlich ansprechender, wenn größere Elemente »klickbar« sind, als nur einzelne <a> Elemente. Die Frage hier wäre, ob das mit window.open() auch klappt oder ob man hier eher dann auf window.locationhref=link-attribut geht.
Möglicherweise ist das auch alles sehr veraltet und macht nur Probleme.
Tobi