当点击编辑按钮时,它会显示tinymce文本编辑器,但问题是它没有设置焦点从第二次开始编辑器的第一次加载它工作正常
以下是我的尝试
HTML
<h3>History Review <a href="#" class="blue_edit_btn" id="history_review_link" onclick="bgshoweditor('history_review')" >Edit</a></h3>
JQuery的
function bgshoweditor(editorid)
{
$("#"+editorid+"_div").hide();
$("#"+editorid).show();
tinyMCE.execCommand('mceRemoveControl', false, editorid );
tinyMCE.execCommand('mceAddControl', true, editorid );
tinyMCE.execCommand('mceFocus', false, editorid );
tinyMCE.activeEditor.selection.select(tinyMCE.activeEditor.getBody(), true);
tinyMCE.activeEditor.selection.collapse(false);
}
答案 0 :(得分:3)
可能在mceFocus
中删除了TinyMce 4
命令(我说过这一点,因为4.x删除了mceRemoveControl
并删除了mceAddControl
。
所以,我建议使用.focus()
试试这个:
tinyMCE.get(editorid).focus();
或者您可以使用auto_focus
属性。
auto_focus:此选项可让您自动对焦编辑器实例。
注意:auto_focus在加载时将焦点设置在编辑器
答案 1 :(得分:0)
尝试此代码可能适合您
function bgshoweditor(editorid)
{
$("#"+editorid+"_div").hide();
$("#"+editorid).show();
if (tinyMCE.activeEditor == null || tinyMCE.activeEditor.isHidden() != false) {
tinyMCE.execCommand('mceRemoveControl', false, editorid );
}
tinyMCE.execCommand('mceAddControl', true, editorid );
tinyMCE.execCommand('mceFocus', false, editorid );
tinyMCE.activeEditor.selection.select(tinyMCE.activeEditor.getBody(), true);
tinyMCE.activeEditor.selection.collapse(false);
}
答案 2 :(得分:0)
for tinyMCE v4 +
tinymce.activeEditor.focus();