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:
( | ist der Cursor)
im Grunde soll das auch für andere html-tags dann auch funktionieren.
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);
}
});