在使用layer.open弹框中包含kindeditor 文本编辑器,这时候弹框出来的编辑器无法聚焦,主要是因为在弹框前先进行了编辑器处理,如果在弹框成功后再处理编辑器即可处理该问题,具体方法如下:
编辑器初始化:
KindEditor.ready(function (K) {
window.K=K;
});
然后是弹框的内容:
function edit(i) {
layer.open({
type: 1,
shadeClose: true, //点击遮罩关闭
btn: ['确定', '取消'],
btnAlign: 'c',
zIndex: 1000,
success: function () { //主要是这里
window.editor = K.create('#nvc_content', {
uploadJson: "/kindeditor/UpLoadImage", //上传图片
fileManagerJson: '../editor/asp.net/ndyscfl.ashx',
allowFileManager: true, allowImageRemote: false, urlType: "domain",
afterCreate : function() { this.sync(); },
afterBlur: function(){ this.sync();},
width: '400px',
htmlTags: false
});
},
yes: function (id) {
},
area: ['820px', '800px'],
content: $('#y_search')
});
}
这样在open的success方法里处理编辑器就可以了。
另外如果编辑器存在图片弹框无法显示的问题,在open的地方加上zIndex: 1000,打开kindeditor的js文件,修改其中的811213全部替换为19892000,811212替换为19891999,811214替换为19892001,811211替换为19891998。
以上就是这个问题的解决办法。
PS:好长时间没写博客了……