如何在tinymce中的光标位置插入图像

Moh*_*Ram 7 javascript jquery tinymce

我正在使用以下代码来获取tinymce的内容.

tinymce_content=tinyMCE.get('txt_area_id').getContent();
updated_content=tinymce_content+"<img src="sample.jpg">";
Run Code Online (Sandbox Code Playgroud)

通过使用上面的代码,我在tinymce内容中插入图像.

问题:如何在tinymce内的光标位置插入图像(即)如何预测光标位置并分割内容以在获取的内容之间插入图像.

提前致谢

Tha*_*ama 20

这将在一个tinymce编辑器中的选定位置(光标位置)插入一个图像节点

var ed = tinyMCE.get('txt_area_id');                // get editor instance
var range = ed.selection.getRng();                  // get range
var newNode = ed.getDoc().createElement ( "img" );  // create img node
newNode.src="sample.jpg";                           // add src attribute
range.insertNode(newNode);                          // insert Node
Run Code Online (Sandbox Code Playgroud)

  • 太好了,每当我在 tinymce 感到挣扎时,我都会记得 thariama 谢谢你 (2认同)

tgr*_*ray 9

@ Thariama的答案在Chrome中对我很好,但在IE中却没有.我必须将其修改为以下内容才能使它在两个浏览器中都能正常工作:

var ed = tinyMCE.get('txt_area_id');                // get editor instance
var newNode = ed.getDoc().createElement ( "img" );  // create img node
newNode.src="sample.jpg";                           // add src attribute
ed.execCommand('mceInsertContent', false, newNode.outerHTML)
Run Code Online (Sandbox Code Playgroud)

(IE告诉我range没有insertNode方法.)