没有定义CKEditor UI空间
CKEditor UI Space not being defined
当我尝试运行
ckeditor
功能时, editor.ui.space
被设置为null
。
我用ajax拉入我的内容,成功或完成后,我然后插入html到dom,然后我直接尝试绑定我的编辑器与默认选项。
的例子:
$.get('url', function(data){
$('body').html(data.content);
$('textarea.content').ckeditor();
});
这个会立即失效,因为没有设置ui-空格。我不知道为什么,但是如果我设置一个超时,比如500,并运行ckeditor函数,它工作得很好。
$.get('url', function(data){
$('body').html(data.content);
var t = setTimeout(function() {
// This does work fine with no problems, why?
$('textarea.content').ckeditor();
clearTimeout(t);
}, 500);
});
我今天也遇到了同样的问题。
在我的例子中,我只是改变:
<script src="{{ asset('js/app.js') }}"defer></script>
:
<script src="{{ asset('js/app.js') }}"></script>
在Laravel中,我注意到如果我从头部部分省略或禁用app.js脚本,这个问题就会消失。
查看标题部分并找出
<script src="{{ asset('js/app.js') }}" defer></script>
现在删除它或注释它
//<script src="{{ asset('js/app.js') }}" defer></script>
注意:App.js脚本是必需的,如果你使用vue.js在你的页面。如果是这样,你必须找出另一个解决方案。
我不使用vue.js,所以我把它删掉了。
注意:
我知道,这不是一个成熟的答案。但它可以帮助其他人找到真正的解决方案。jquery html
函数是同步的,但内容仍然需要时间来加载,这有时还不能调用$('textarea.content').ckeditor();
请尝试这个而不是超时,以确保在初始化ckeditor之前内容可用,超时是一个解决方案,但它不是一个可靠的。
$.get('url', function(data){
$('body').html(data.content).promise().done(function() {
$('textarea.content').ckeditor();
});
});
window.onload = function(){
setTimeout(function(){
//CKEDITOR
CKEDITOR.replace('selector_ID');
CKEDITOR.config.height = 100;
//END CKEDITOR
},0);
}
我在一个使用AngularJS和JQuery的网站上有同样的问题。这似乎是通过在JQuery 'document.ready()'指令中初始化CkEditor(版本4…)来解决的,以确保它是最后一个要运行的Javascript库。
<script language="javascript" >
$(document).ready(
function()
{
CKEDITOR.replace( 'editor' );
}
);
</script>
相关文章:
- 有没有任何方法可以将控制器从文件加载到ui路由器$stateProvider中
- jQuery UI自动完成突然停止工作
- 如何使用skip参数使用angular ui引导进行服务器端分页
- AngularJS UI路由器不能像ng路由器那样工作
- 我可以更改剑道UI网格吗's的外键值
- 剑道UI内联编辑:如何在点击其他按钮时隐藏按钮
- Rails/JSON:如何将JSON用于jquery UI自动完成表单
- JavaScript名称空间和对象创建
- 停止jQuery UI滑块移动超过给定值
- 在javascript中使用命名空间
- 混合 ui-sref 和 $state.go 在 Angular ui-router 中进行状态转换
- Jquery UI自动完成无法工作
- 为什么不推荐使用“with”?是否有更好或其他方法可以“下降”到对象的命名空间
- 语义ui如何使用javascript启用或禁用下拉列表
- jquery ui滑块上的滑块值
- 标题中大写字母之间的角度UI网格空间
- 当名称空间在id参数之前声明时,Angular UI路由器停止工作
- 使用AngularJS的UI引导警报ng-hide会占用额外的空间
- 没有定义CKEditor UI空间
- 如何命名空间或前缀语义UI