Skip to content

Instantly share code, notes, and snippets.

@nguyenkiidu
Created December 17, 2018 13:56
Show Gist options
  • Save nguyenkiidu/c102065f2c475d18521ebf14d168498b to your computer and use it in GitHub Desktop.
Save nguyenkiidu/c102065f2c475d18521ebf14d168498b to your computer and use it in GitHub Desktop.
tinymce.init({
selector: 'textarea',
height: 500,
menubar: false,
plugins: [
'advlist autolink lists link image charmap print preview anchor textcolor',
'searchreplace visualblocks code fullscreen',
'insertdatetime media table contextmenu paste code help wordcount'
],
toolbar: 'insert | undo redo | formatselect | bold italic backcolor | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | removeformat | help',
content_css: [
'//fonts.googleapis.com/css?family=Lato:300,300i,400,400i',
'//www.tinymce.com/css/codepen.min.css'],
init_instance_callback: function (editor) {
editor.on('KeyDown', function (e) {
if(e.keyCode == 27) {
let editor = tinyMCE.activeEditor
const dom = editor.dom
const parentBlock = tinyMCE.activeEditor.selection.getSelectedBlocks()[0]
const containerBlock = parentBlock.parentNode.nodeName == 'BODY' ? dom.getParent(parentBlock, dom.isBlock) : dom.getParent(parentBlock.parentNode, dom.isBlock)
let newBlock = tinyMCE.activeEditor.dom.create('p')
newBlock.innerHTML = '<br data-mce-bogus="1">';
dom.insertAfter(newBlock, containerBlock)
let rng = dom.createRng();
newBlock.normalize();
rng.setStart(newBlock, 0);
rng.setEnd(newBlock, 0);
editor.selection.setRng(rng);
}
});
}
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment