0

I've been trying to programmatically trigger a keypress in an active editor with TinyMCE. So far, I've tried numerous combinations

let ev = new KeyboardEvent('keydown', {
   code: '13',
   key: 'enter',
});
tinymce.activeEditor.fire('keypress', {'key':'enter'})
tinymce.activeEditor.fire('keypress', {key: 'enter'})    
tinymce.activeEditor.fire('keypress', ev)    
tinymce.activeEditor.dom.fire('#id_of_element', 'keypress', {key: 'enter'})    
tinymce.activeEditor.dom.fire('#id_of_element', 'keypress', ev)    
tinymce.activeEditor.fire('keydown', {'key':'enter'})
tinymce.activeEditor.fire('keydown', {key: 'enter'})    
tinymce.activeEditor.fire('keydown', ev)    
tinymce.activeEditor.dom.fire('#id_of_element', 'keydown', {key: 'enter'})    
tinymce.activeEditor.dom.fire('#id_of_element', 'keydown', ev)    

I've tried using jQuery to triggering the iframe body, no luck there also,

$("[data-id=someid]").dispatchEvent(new KeyboardEvent('keydown', {'key': 'enter'}));

No there. I do NOT want to change the content by setContent or insertContent - I want to trigger this so that if for example the cursor is in an <li> element - "enter" would create a new row in the <ul> list - I want to do this programmatically...

I think this maybe a case of "cant see the woods for the trees"...

user1320651
  • 808
  • 2
  • 15
  • 42

1 Answers1

1

Omg. Painful...

 tinymce.activeEditor.execCommand('mceInsertNewLine',true);
user1320651
  • 808
  • 2
  • 15
  • 42