vfp*_*ero 6 javascript iframe jquery internet-explorer tinymce
我已经为tinyMCE创建了一个插件,可以使用MathJax在编辑器数学公式中插入.此插件在iframe中打开一个弹出窗口(使用jQuery),然后启动一个触发器事件,以便在tinyMCE活动编辑器中插入输入的公式.
我的代码在Chrome和Firefox中正常工作(创建一个pre插入textarea的插入位置),但在IE中,文本插入textarea的开头.
我正在使用这样的setContent方法:
tinyMCE.activeEditor.selection.setContent(text to insert, {format: 'bbcode'});
Run Code Online (Sandbox Code Playgroud)
我尝试ed.focus()在插入之前使用以及在StackOverflow中找到的其他建议,但没有任何对我有用.
此外,我尝试在打开弹出窗口之前保存插入位置,并在插入时恢复它但无论如何都不起作用.
有任何想法吗?
提前致谢.
解决了:
我知道这不是最优雅的解决方案,但对我有用.
在打开弹出窗口之前,我插入一个带有特定ID的"span",如下所示:
var sel = tinyMCE.activeEditor.selection;
sel.setContent('<span id="_math_marker"> </span>');
Run Code Online (Sandbox Code Playgroud)
然后,当弹出窗口关闭并且文本被发送回编辑器时,我用标记寻找跨度,然后我选择它并调用setContent:
var ed = tinyMCE.activeEditor;
var marker = ed.dom.get('_math_marker');
ed.selection.select(marker, false);
ed.selection.setContent("TEXT TO INSERT");
Run Code Online (Sandbox Code Playgroud)
这适用于所有浏览器!如果关闭弹出窗口而不插入任何内容以避免在编辑器中留下垃圾,请记住删除跨度.
:-)
| 归档时间: |
|
| 查看次数: |
8195 次 |
| 最近记录: |