JavaScript Text nach cursor einfügen sobald bestimmte Zeichenfolge eingegeben wurde (Tags schließen)

Pfandfinder

Lieutenant
Registriert
Nov. 2020
Beiträge
644
Hi,

ich habe dieses JS. es soll eigentlich machen, dass wenn ich <kbd> schreibe, direkt </kbd> dahinter eingefügt wird. aber es geht nicht. geht das überhaupt so einfach wie ich denke ?

Zum Verständnis: ich schreibe <kbd, sobald ich dann noch das > schreibe, wird direkt </kbd> dahinter eingefügt, sodass nun in der textarea steht:

Code:
<kbd>|</kbd>

( | ist der Cursor)

im Grunde soll das auch für andere html-tags dann auch funktionieren.

Javascript:
const textarea = document.getElementById('myTextarea');

textarea.addEventListener('keydown', event => {
  if (event.key === 'k' && event.ctrlKey) {
    const start = textarea.selectionStart;
    const end = textarea.selectionEnd;
    const selected = textarea.value.substring(start, end);
    textarea.value = textarea.value.substring(0, start) + '<kbd>' + selected + '</kbd>' + textarea.value.substring(end);
  }
});
 
das sieht doch schon wieder nach chatgpt aus? schau doch mal auf deinen code... da wird nur was gemacht, wenn man ctrl+k drückt? das ist doch überhaupt nicht das was du beschrieben hast. auf basis deines ersten post zu dem thema -> https://jsfiddle.net/zjt6xkm9/
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: aronlad und Pfandfinder
Zurück
Oben