主题: 用layer jquery.dialog等弹出层插件时,编辑框无法编辑 |
作者: magic, 发布日期: 2012-12-09 17:36:01, 浏览数: 3630 |
操作系统: win7
浏览器版本: chrome KindEditor版本: BUG再现步骤: 1. 放入任何弹出层插件中均都无法编辑 2. 3. 期望结果: 下个版本修复 |
作者: 小浪子, 发布日期: 2012-12-09 18:13:27 |
回复 |
作者: 关门放狗, 发布日期: 2013-03-06 17:48:04 |
这个问题的确是存在的,如果editor是放在一个jquery ui modal的弹出框内,这个问题就存在,楼上给出的sample没有设置modal,所以没有这个问题,关键是这里的代码:
https://github.com/jquery/jquery-ui/blob/51eb28e76e372fe0af12724edff0b5780b5e5ed0/ui/jquery.ui.dialog.js#L696
jquery ui dialog在modal的情况下,会检查需要获取focus的控件,如果是在一个带有类ui-dialog的容器内,才会获得焦点,而kindeditor是把产生的对话框放在body内,因此所有获取focus的操作都会被截取并且放弃。
解决方法比较简单,如果考虑到和Jquery ui modal dialog的兼容性,在产生的对话框的类中简单加入一个ui-dialog类就可以解决问题。 |
回复 |