主题: 4.1.4退出全屏后,高度没恢复成原来的大小
作者: LF_eng, 发布日期: 2013-03-06 12:33:11, 浏览数: 3251

操作系统:  windows 7


浏览器版本:  ie9 和 firefox19.0

KindEditor版本:  4.1.4

BUG再现步骤:

1. 按简单方式创建编辑器

    html:因为想建一个宽度和高度都随浏览器变化的编辑器,所以设置宽度为100%,高度另外设置


<textarea id="editor_id" style="width: 100%;"></textarea>


    js:

var editor;
KindEditor.ready(function(K) {
    editor = K.create('#editor_id');
});


2. 把高度的变化绑定到浏览器大小的变化中,这里使用的是jquery代码


$(window).resize(function() {
    editor.resize(null, $(window).height() - 320);
});


3.  现在编辑器能随着浏览器变化,但是当退出全屏时,高度会变成原来的100px,而不是最后一次的高度

期望结果:

1. 编辑器能正确保存全屏前的高度,以便还原

2.提供afterFullscreen()和exitFullscreen()函数,在进入全屏和退出全屏时自己添加改变高度的动作




作者: LF_eng, 发布日期: 2013-03-06 18:36:34
现在已经找到可以代替“进入全屏”和“退出全屏”两个动作的代码,如下:
var kResize = function() {
    editor.resize(null, $(window).height() - 320);
}; var editor;
KindEditor.ready(function(K) {
    editor = K.create('#editor_id', {
            afterCreate: function() {
		if(this.fullscreenMode) {//进入全屏
			$(window).unbind("resize", kResize);
		} else {//退出全屏
			//$(window).trigger("resize");//进入全屏后,如果改变了浏览器大小,easyUI就会异常,添加此句可以回归正常
                        setTimeout(kResize, 100);//使kindeditor高度回归正常
                        $(window).resize(kResize);
		}
	    }
    });
});
此种方法可以在退出全屏时,将编辑器的高度改为正确的,但是会看见编辑器高度会闪一下,最好的解决方法是编辑器自己能动态更改高度
回复
作者: Roddy, 发布日期: 2013-03-06 23:03:49
感谢反馈,已放到todolist里。
回复
发表新帖 发表回复