sel.addRange(range);
return;
}
+ if (event.originalEvent.inputType == "insertText") {
+ var main_node = get_contenteditable_subnode(sel.anchorNode);
+ if (main_node.tagName != 'PRE') {
+ var anchorNode = sel.anchorNode;
+ var offset = sel.anchorOffset;
+ var orig_text = sel.anchorNode.data;
+ var text = orig_text;
+ // typography
+ if (event.originalEvent.data === "'") {
+ text = text.slice(0, offset-1) + '’' + text.slice(offset);
+ }
+ if (text != orig_text) {
+ var new_text = document.createTextNode(text);
+ anchorNode.replaceWith(new_text);
+ sel.collapse(new_text, offset);
+ }
+ }
+ return;
+ }
if (event.originalEvent.inputType != "insertParagraph") return true;
if (sel.anchorNode.tagName == "DIV" && sel.anchorNode.innerHTML == "<br>") {
// new empty div got inserted, replace it with a <p>