我在设置CKEditor 3.4.1的instanceReady事件中的焦点时遇到问题。我已经尝试了以下两种方法,但两种方法并不总是有效。
CKEDITOR.on('instanceReady', function(e) { CKEDITOR.instances.editor1.focus(); });
CKEDITOR.replace('editor1',
{
on :
{
instanceReady : function( ev )
{
ev.editor.focus();
}
}
} );
答案 0 :(得分:19)
或者尝试这个,这更简单:
使用startupFocus : true
因此您的代码应如下所示:
CKEDITOR.replace('editor1',
{
startupFocus : true,
...
答案 1 :(得分:12)
在这里,你去找我的朋友
CKEDITOR.replace('editor1',
{
on :
{
instanceReady : function( ev )
{
CKEDITOR.instances.editor1.focus();
}
}
} );
或
CKEDITOR.replace('editor1',
{
on :
{
instanceReady : function( ev )
{
this.focus();
}
}
} );
答案 2 :(得分:5)
CKEDITOR.instances['instance-name'].on('instanceReady', function (event) {
CKEDITOR.instances['instance-name'].focus();
});
答案 3 :(得分:1)
给我最好的方式,
触发焦点事件
关键点是将实例集中在超时
for(在CKEDITOR.instances中的var实例){
$ timeout(function(){
CKEDITOR.instances [实例] .focus();
});
}
注意:我发现带有for循环的实例。您可能会找到更好的方法来查找实例
答案 4 :(得分:0)
肮脏的方式(请务必阅读我的回答中的评论):
jQuery('.cke_wysiwyg_frame').contents().find('body').focus();
答案 5 :(得分:0)
答案 6 :(得分:0)
上述答案都不适合我。以下是我为 CHROME 所做的工作,它运作得很好:
CKEDITOR.instances['instance-name'].container.focus();