IE11下,CKEditor在Bootstrap Modal中的下拉问题

原问题解决方案链接:http://ckeditor.com/forums/CKEditor/Editor-Dropdowns-dont-work-in-IE11

最近在项目中需要在Bootstrap Modal弹出框中载入CKEditor。

初始化CKEditor以后,在IE11下,格式/字体/颜色的下拉会闪现一下后就消失,但在chrome和firefox下没问题。

Google了以后终于找到解决方法。

以下代码添加了$(e.target.parentNode).hasClass(‘cke_contents cke_reset‘)判断条件,放在项目的common.js中。

$.fn.modal.Constructor.prototype.enforceFocus = function() {
    modal_this = this
    $(document).on(‘focusin.modal‘, function (e) {
        if (modal_this.$element[0] !== e.target && !modal_this.$element.has(e.target).length
            // Fix for CKEditor + Bootstrap IE issue with dropdowns on the toolbar
            // Adding additional condition ‘$(e.target.parentNode).hasClass(‘cke_contents cke_reset‘)‘ to avoid setting focus back on the modal window.
            && $(e.target.parentNode).hasClass(‘cke_contents cke_reset‘)) {
                modal_this.$element.focus()
        }
    })
};

bootstrap.js中enforceFocus函数代码

Modal.prototype.enforceFocus = function () {
    $(document)
      .off(‘focusin.bs.modal‘) // guard against infinite focus loop
      .on(‘focusin.bs.modal‘, $.proxy(function (e) {
        if (document !== e.target &&
            this.$element[0] !== e.target &&
            !this.$element.has(e.target).length) {
          this.$element.trigger(‘focus‘)
        }
      }, this))
  }

this.$element表示modal对象。

IE11下,点击CKEditor,也触发了focusin.modal事件,if条件成立,bootstrap modal获取焦点,CKEditor下拉失去焦点,所以下拉出现闪现。

加了判断后,可以避免modal获取焦点,但好像modal一直都不会trigger了

时间: 2024-08-24 21:20:04

IE11下,CKEditor在Bootstrap Modal中的下拉问题的相关文章

解决 select2在bootstrap modal中不能正常使用问题

select2在bootstrap modal中不能正常使用问题 设置CSS .select2-drop { z-index: 10050 !important; } .select2-search-choice-close { margin-top: 0 !important; right: 2px !important; min-height: 10px; } .select2-search-choice-close:before { color: black !important; } /

在bootstrap modal 中加载百度地图的信息窗口失效解决方法

这个问题其实很傻,解决方法没有任何技术含量,只是记录下工作中发生的事. 前阵子给一个汽车集团客户做了一个经销商查询系统,其中一个功能是使用地图标注经销商店面地址,并且实现导航功能. 页面演示地址:http://www.lyytqm.com/Dealerships 点击地址区域在模态窗口中显示百度地图,并在地图中标注点位,显示窗口信息,但信息窗口展示的信息频繁失效,仅显示名称. 更换了各种加载数据方式不能解决,在蹲厕所时想到了原因,即可给出解决方法. 原因是bootstrap modal 以及动画

使用Bootstrap.css 中IE下页面加载过慢问题

问题描述: Web中引入bootstrap.css中头部有访问Google服务器的请求 @import url("//fonts.googleapis.com/css?family=Open+Sans:400italic,700italic,400,700"); 国内访问不稳定,页面反应慢 解决:将请求结果保存下来,放到本地,重新声明请求 1.请求http://fonts.googleapis.com/css?family=Open+Sans:400italic,700italic,4

Bootstrap中的下拉菜单

下拉菜单(基本用法) 小伙伴们注意,在Bootstrap框架中的下拉菜单组件是一个独立的组件,根据不同的版本,它对应的文件: ?  LESS版本:对应的源码文件为 dropdowns.less ?  Sass版本:对应的源码文件为 _dropdowns.scss ?  编译后的Bootstrap版本:查看bootstrap.css文件第3004行-第3130行 在使用Bootstrap框架的下拉菜单时,必须调用Bootstrap框架提供的bootstrap.js文件.当然,如果你使用的是未编译版

解决select2在bootstrap的modal中默认不显示的问题

在Bootstrap中的Modal,select2插件会有不显示,因为其z-index小于modal,还有另外一个问题是,修正z-index之后,select2不会自动失去焦点的问题.代码解决如下: <style> /*select2在Bootstrap的modal中默认被遮盖,现在强制显示在最前*/ .select2-drop { z-index: 10050 !important; } .select2-search-choice-close { margin-top: 0 !import

在BootStrap的modal中使用Select2搜索框无法输入

用modal来show一个对话框 dialog.modal({ backdrop:true, keyboard:true, show:true }); 1 2 3 4 5 然后再modal中初始化select2 dialog.find("select").select2({ formatNoMatches: function() { return "没有选项"; }, placeholder: "请选择...", minimumResultsFo

Bootstrap modal常用参数、方法和事件

Bootstrap modal(模态窗)常用参数.方法和事件: 参数: 名称 类型 默认值 描述 Backdrop Boolean或字符串"static" True True:有背景,点击modal外部,modal消失. False:无背景,点击modal外部,modal不消失. Static:有背景,点击modal外部,modal不消失. Keyboard Boolean True True:键盘上的esc按下关闭modal False:键盘上的esc按下不关闭modal Show

bootstrap modal 垂直居中对齐

bootstrap modal 垂直居中对齐 文章参考 http://www.bubuko.com/infodetail-666582.html http://v3.bootcss.com/JavaScript/#modals Html代码   <div class="modal fade" id="sqh_model"> <div class="modal-dialog"> <div class="mod

对bootstrap modal的简单扩展封装

对bootstrap modal的简单扩展封装 参考自:http://www.muzilei.com/archives/677   注:原文不支持bootstrap新版本,并且居中等存在问题 此段时间一直在学习bootstrap,主要是用于做后台,一直习惯用easyui,ui,jgrid前端框架,以至于并不习惯bootstrap的风格.近来考虑到easyui性能不太好,就用了bootstrap,先说下我所了解的bootstrap. 1.外国的框架用于显示中文看着总是不妥. 2.默认的样式觉得有些