Raw Rich Text Editor

HTML

<div id="ed" contenteditable="true">
  Select some text and press CMD+B for bold.
</div>

CSS

#ed {
  outline: none;
}

JavaScript

document.getElementById("ed").addEventListener("keydown", function(e) {
      // Only listen for CTRL/CMD without SHIFT
      if ((e.ctrlKey || e.metaKey) && !e.shiftKey) {
        switch(e.key.toLowerCase()) {
          case "b":
            e.preventDefault();
            document.execCommand('bold');
            break;
          case "i":
            e.preventDefault();
            document.execCommand('italic');
            break;
          case "u":
            e.preventDefault();
            document.execCommand('insertUnorderedList');
            break;
        }
      }
    });