molily: onclick ohne echten Link

Beitrag lesen

<a href="#" onlick="showimg(img1)"><img.../></a>

Nun stört mich, dass bei einem klick darauf der Browser an den Anfang der Seite geschickt wird.

Das ist klar, solange du die Standardaktion nicht unterdrückst, wird erst der click-Handler ausgeführt und dann die URI im href-Attribut aufgerufen. Und # werten die Browser nunmal als Sprung zum Dokumentanfang.

Ich kann ja das onclick attribut auch einfach in den <img> schreiben, da fehlt aber auch der "Hand"-Mauscursor. Wie füge ich den per onmouseover hinzu?

Den fügst du per CSS hinzu: <http://de.selfhtml.org/css/eigenschaften/anzeigefenster.htm#cursor@title=cursor: pointer;>

Oder gibt es eine viel einfachere Lösung an die ich nicht gedacht habe?

Mit return false die Standardaktion unterdrücken:
onclick="bla(); return false;"

Wenn du das JavaScript auslagerst und den Event-Handler via JavaScript registrierst, dann notiere am Ende der Handler-Funktion return false.

Die Nutzung von a ist gar nicht so falsch, weil du im href-Attribut die Adresse des Großbildes angeben kannst und das Attribut dann im JavaScript auslesen kannst. Hier ein schönes Beispiel für eine zugängliche Galerie, die auch ohne JavaScript funktionieren kann:
https://forum.selfhtml.org/?t=183494&m=1215951

Mathias