主题: 在ext.net框架中使用KindEditor无法获得焦点的问题(Chrome和Firefix)
作者: kevin, 发布日期: 2011-12-01 10:41:15, 浏览数: 10636
操作系统: Windows 7

浏览器:Chrome 15 , Firefox 7

IE下可以正常使用。


KindEditor版本: 4.0.3

BUG再现步骤:
1. 进入使用了KindEditor的页面,编辑器无法获得焦点,无法输入文字。
2. 点击编辑器上的全屏按钮,编辑器获得焦点并且可以输入文字。

3. 关闭全屏模式,仍然可以输入文字。


备注:我们用的是EXT.NET作为后台框架,但IE下一切正常。

Chrome,Firefox下一直有这问题,从KindEditor3的时候就有这问题。

Firefox下还有编辑器框尺寸不对的问题。


期望结果:

可获得焦点,可输入文字。


作者: roy, 发布日期: 2011-12-04 22:56:36

额。这个是某后台里的bug么?


刚开始以为是浮动窗口的z-index搞的问题,因为z-index不继承。实验了一下貌似不是。因为editor是iframe引入。


然后,就想到了是动态加载dom的原因,但是editor已经被渲染好了啊,只是没有焦点。。。。

实验了jquery live绑定。强制获取焦点。还不行。


然后看了官方文档:


kindeditor是在全部DOM创建完成之后才会执行show里面的init和create。


但是某后台的editor是放在浮动窗口里的。js动态执行创建了窗口DOM后,kindeditor就会出现问题。


修改方法:


1。原本的编辑器创建代码:


KE.show({

    id: 'txtEditor'

});


改为:


KE.init({

    id : 'txtEditor'

});

2.查找:btnAdd_ClientClick();

在之后添加:KE.create('txtEditor');



本地测试通过。



PS.最新版本不会出现这个问题。


宽度问题,应该是,额。100%搞的。

回复
作者: 努力 加油, 发布日期: 2011-12-24 14:37:33

我现在用的EXT.NET火狐创建编器后也是不能输入,也不能显示赋值,点击全屏后可以显示,在次点击全屏后,编辑器消失,IE正常显示将代码贴上,希望得到解决。

            var editor1;
            KindEditor.ready(function (K) {
                editor1 = K.create('#txtContent', {
                    allowFileManager: true
                });
            });
            var ShowHtml = function (result) {
                var params = result.extraParamsResponse || {};
                if (params.Text) {
                    editor1.html(params.Text);
                }
            }

//以上是创建编辑器和给编辑器赋值。确定值已经取到,没有问题。

 <ext:Panel ID="EditorPanel" runat="server" Region="Center">
                <Content>
                    <textarea id="txtContent" cols="100" rows="15" style="width: 100%; height: 400px;" runat="server"></textarea>
                    <input type="hidden" id="GetNodeId" runat="Server" value="" />
                    <ext:Panel ID="Panel1" Border="false" runat="server" Height="40" Layout="HBox">
                        <Items>
                            <ext:Button ID="btnSubmit" Margins="10 50 0 50" runat="server" Icon="PageSave" Text="保存">
                                <DirectEvents>
                                    <Click OnEvent="btnSubmit_Click" Success="ShowBox(result)">
                                        <EventMask ShowMask="true" />
                                        <ExtraParams>
                                            <ext:Parameter Name="cv" Value="editor1.html()" Mode="Raw" />
                                        </ExtraParams>
                                    </Click>
                                </DirectEvents>
                            </ext:Button>
                            <ext:Button ID="btnReset" Margins="10 0 0 0" runat="server" Icon="PageRefresh" Text="清空">
                                <Listeners>
                                    <Click Handler="editor1.html('');" />
                                </Listeners>
                            </ext:Button>
                        </Items>
                    </ext:Panel>
                </Content>
            </ext:Panel>

//这是<textarea>和EXT.NET结合使用。

不知道说明白么。期待尽快解决,谢谢了,在线等。

 

回复
作者: 凯文, 发布日期: 2012-02-22 13:06:48

我也遇到你同样的问题,我用这种发放解决的。

 

http://www.kindsoft.net/view.php?bbsid=4&postid=4641

 

回复
发表新帖 发表回复