stopPropagation();
Linuchs
- javascript
0 Rolf B0 Rolf B0 Linuchs0 Tabellenkalk0 Linuchs
0 20- sonstiges
Moin,
bei meinen Liedtexten kann man zwecks Übung (Singen / Ukulele) eine Textzeile anklicken, dann startet die Audio-Wiedergabe dort.
Nun möchte ich noch eins draufsetzen und die roten Akkorde anklicken, damit sie erklingen.
Doch dann beginnt die Textzeile neu, das ist nicht erwünscht.
Ist stopPropagation() das geeignete Mittel und wie wende ich es an?
So funktioniert es nicht:
<b><b class="cur_pointer" onclick="akkorde.src='../mp3/akk_C_dur.mp3';akkorde.play();this.stopPropagation();">C</b></b>
Gruß, Linuchs
Hallo Linuchs,
Ist stopPropagation() das geeignete Mittel
Ja.
und wie wende ich es an?
Auf dem Event-Objekt. In this steht das geklickte b Element. Du müsstest also für deinen Code einen Fehler in der Konsole erhalten haben, dass undefined keine Funktion sei, oder so was.
Ob Firefox aus Kompatibilitätsgründen in on... Handlern die globale Variable event
bereitstellt, weiß ich gerade nicht. Da müsste das richtige Objekt drin stehen. Probiere es aus.
Dass ein b Element nicht klickbar sein sollte, merke ich nur mal so an. Bedienbarkeit und Zugänglichkeit interessieren dich bei diesen Seiten ja eh nicht
Rolf
Hallo Linuchs,
Ist stopPropagation() das geeignete Mittel
Äh, das heißt, eigentlich nicht. Zwei interaktive Elemente zu schachteln ist das ungeeignete Mittel, und das hat du hier getan (die b Elemente sind sicherlich Kindelemente der Zeilen).
Besser wäre es, an Stelle der klickbaren Zeilen kleine Play-Buttons an den Zeilenanfang zu setzen, so dass die Akkorde Geschwister davon sind (bzw. Neffen). Dann stören sich die Events nicht gegenseitig.
Dann noch Buttons statt b Elemente für die Akkorde, und die Sache ist gleich viel besser, aus technischer Sicht. Die Akkord-Buttons kannst du ja so stylen, dass sie kein visuelles Chaos anrichten.
Rolf
Hallo Rolf,
die b Elemente sind sicherlich Kindelemente der Zeilen
Richtig.
Play-Buttons an den Zeilenanfang
Sie müssen an den richtigen Silben im Text stehen, denn es sind die Akkorde, die der Gitarrist spielt.
Höre mal rein: Leben ist mehr
Gruß, Linuchs
Hallo,
Play-Buttons an den Zeilenanfang
Sie müssen an den richtigen Silben im Text stehen, denn es sind die Akkorde, die der Gitarrist spielt.
Du hast Rolfs Vorschlag nicht verstanden. Die Akkorde sollen bleiben, wo sie sind, aber Buttons sein. Die anklickbaren Zeilen sollst du verändern…
Gruß
Kalk
Ach so, das ist eine Idee ...