Evernote Editor is one of WYSIWYG HTML Editor
You can use WYSIWYG editor with attribute contentEditable="true"
on html tag
For get current element on cursor, you can find answer on Get element node at caret position (in contentEditable)
Or I have some simple code that I use on my project
getCaretNode() {
let selection: any;
if (window.getSelection) {
selection = window.getSelection();
} else if (document.getSelection() && document.getSelection().type !== "Control") {
selection = document.getSelection();
}
let anchorNode = selection.anchorNode;
if (anchorNode === null) {
return null;
}
if (anchorNode.nodeType === 3) {
anchorNode = anchorNode.parentNode;
}
return anchorNode;
}