设置焦点on TinyMce编辑器

时间:2014-05-23 07:25:08

标签: javascript jquery html tinymce tinymce-4

当点击编辑按钮时,它会显示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); 
}

3 个答案:

答案 0 :(得分:3)

可能在mceFocus中删除了TinyMce 4命令(我说过这一点,因为4.x删除了mceRemoveControl并删除了mceAddControl

所以,我建议使用.focus()

试试这个:

tinyMCE.get(editorid).focus();

Working Example

或者您可以使用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();