Ich arbeite gerade an einer Website, wo ein Benutzer in der Lage sein soll, neue Songs mit zugehörigen Akkorden in eine Datenbank zu schreiben und einzufügen. Um die Dinge zusammenzufassen und auf den Punkt ziemlich schnell zu kommen, hier ist mein Problem:Custom textarea/contenteditable mit divs drin
Ich habe ein div mit der ID "#textarea", und das Attribut contenteditable = "true". Bei jedem Enter/Linebreak möchte ich ein neues div mit der Klasse ".chords" und dem Attribut contenteditable = "false" erstellen. Diese „.chords“ div sollte direkt vor der neuen Zeile platziert wird, wie das Bild hier zeigt:
Die rote Farbe ist die #textarea div und die blaue Farbe der .chords divs
Meine Frage ist also: Wie mache ich das? Ich habe den Code, den ich am Ende dieses Posts versucht habe, gepostet, aber wie Sie sehen, wenn Sie es ausführen, sind die .chords divs unter der neuen Zeile positioniert, so dass ich jetzt ein bisschen fest bin .. Wenn überhaupt Ihr habt eine Idee, wie das geht, lasst mich bitte von Euch hören!
$(function(e) {
$('#textarea').keydown(function(e) {
var i = 0;
// Check if the returnkey is being pressed
if (e.keyCode === 13) {
$("#textarea div:last-of-type").after("<div class=\"chords\" id=\"" + (i + 1) + "\" contenteditable=\"false\"></div>");
i = i + 1;
}
});
})
#textarea {
border: 1px solid black;
line-height: 50px;
font-size: 20px;
}
.chords {
height: 30px;
border: 1px solid black;
position: relative;
}
#textarea div:not(.chords) {
margin-top: 20px;
min-height: 40px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="textarea" contenteditable="true">
<div class="chords" id="1" contenteditable="false"></div>
<div></div>
<!--End of #textarea-->
</div>
Ich denke, man kann das nicht tun, weil der Text auf dem gleichen div aber eine andere dynamische div sind anders. Ich denke du musst einen anderen Weg finden. – Maruf
Hmm, Sie könnten Recht haben. Ich studiere bei der Ausbildung "Webintegrator", also bin ich noch kein Experte .. – user3276657
Ich kann dir anders helfen – Maruf