Lieber Linuchs,
<a class=regie onclick="javascript:regie_sende( 'text','#lied_01' )" title="Nr. 1 an Slaves senden"></a>
das "javascript:" benötigst Du nur im href
-Attribut. Wenn Du allen Ernstes das onclick
-Attribut verwendest, dann musst Du dafür sorgen, dass der Rückgabewert der aufgerufenen Funktion (nein, nicht regie_sende
, sondern HTMLElementObject.onclick
!) ein false
ergibt. Das geht z.B. so:
<a onclick="regie_sende( 'text','#lied_01' ); return false;">
Wenn jetzt regie_sende
selbst ein return false;
am Ende hat, kannst Du das sogar verkürzt notieren:
<a onclick="return regie_sende( 'text','#lied_01' )">
Damit sollte der "Seitenwechsel" nach dem Anklicken vermieden werden.
ABER: So solltest Du es wirklich nicht machen. Besser wäre es, Dein class=regie"
dafür zu nutzen, einen passenden Eventhandler per JavaScript zu vergeben. Vielleicht kannst Du den Hash #lied_01
aus dem title
-Attribut herauslösen, oder Du vergibst dem a
-Element ein data-*
-Attribut, in dem der Hash steht:
<a class="regie" data-sende="#lied_01">
Wenn die Seite fertig geladen hat, suchst Du per JavaScript einfach alle a
-Elemente mit der Klasse "regie":
document.addEventListener("DOMContentLoaded", function () {
// alle passenden Links finden
var sender = document.querySelectorAll("a.regie");
// alle gefundenen Links präparieren
sender.forEach(function (a) {
// dynamisches onclick vergeben
a.addEventListener("click", function (event) {
// Variable a ist hier bekannt (closure)
return regie_sende("text", a.dataset.sende);
});
});
Ich habe obigen Code natürlich nicht geprüft, aber Du wirst verstehen, was ich meine, um es im Fehlerfalle selbst korrigieren zu können.
Liebe Grüße,
Felix Riesterer.