当前位置: 首页 > 编程笔记 >

IE11下CKEditor在Bootstrap Modal中下拉问题的解决

高才
2023-03-14
本文向大家介绍IE11下CKEditor在Bootstrap Modal中下拉问题的解决,包括了IE11下CKEditor在Bootstrap Modal中下拉问题的解决的使用技巧和注意事项,需要的朋友参考一下

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

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

主要原因是IE11下,点击CKEditor,触发了focusin.modal事件,原modal enforceFocus函数的if条件成立,bootstrap modal获取焦点,CKEditor下拉失去焦点,所以下拉出现闪现。

Google了以后找到了一个解决方案

这个解决方案中,加了判断后,可以避免modal获取焦点,但好像modal一直都不会trigger了。

我做了一下修改,以下代码是在原modal enforceFocus函数的基础上添加了!$(e.target.parentNode).closest(".cke").length判断条件,也就是说在原判断条件+未点击在CKEditor上,则modal获取焦点。

代码的执行顺序是jQuery、bootstrap再执行此段代码。

$.fn.modal.Constructor.prototype.enforceFocus = function() {
 $(document)
  .off('focusin.bs.modal')
  .on('focusin.bs.modal', $.proxy(function (e) {
  if (document !== e.target &&
   this.$element[0] !== e.target &&
   !this.$element.has(e.target).length &&
   !$(e.target.parentNode).closest(".cke").length) {
   
   this.$element.trigger('focus')
  }
  }, this))
};

在项目中测试了一下未发现问题。 

附 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对象。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持小牛知识库。

 类似资料:
  • 本文向大家介绍js解决select下拉选不中问题,包括了js解决select下拉选不中问题的使用技巧和注意事项,需要的朋友参考一下 当事件mouseover中出现select下拉框时,select下拉是选不中的,解决办法: var o = e.relatedTarget || e.toElement;//判断下移动到的对象,移动到option上ie下是null,firefox等为undefined

  • 我使用vue.js创建了一个表单,用户可以在其中保存他们的答案并返回。我在我的Vue模板中有一个下拉列表,并且V模型被绑定到一个计算的属性。它在其他浏览器中运行良好,但在IE中,下拉菜单在加载页面时不会显示先前选择的答案。如果他们再次回答,它很好,但我希望他们之前选择的答案显示出来。 possibleanswers是组件的属性,answerLocal是计算属性。Responsions是组件的属性,

  • 由于某种原因,我的WordPress生成的菜单在我尝试显示下拉菜单时出现了一些问题。父菜单项变为全宽,然后覆盖其他项。这是悬停状态下的样子: 下面是对代码的修改:https://jsfidle.net/j55scjeq/ 以下是CSS: 下面是HTML: 有人能帮我找到解决办法吗。我只希望子UL显示在一个漂亮的列中,与下面的内容重叠。 我想不通。我不确定这是HTML还是CSS的问题。:/ 非常感谢

  • 我正在处理一个纯CSS下拉框,但遇到了一些对齐问题。 特别是:当鼠标悬停在各自的菜单项上时,子菜单项会移到右侧。这是小提琴:https://jsfiddle.net/fhakjnhe/5/ HTML 相关CSS 我检查了类似的问题CSS下拉菜单: nav ul ul li移到右边,并检查了和设置为。同样在我的例子中,子项目在悬停时向右移动,在“隐藏”时似乎保持良好。

  • 一个下拉框控件,在谷歌浏览器显示正常,但是在火狐浏览器下显示为如下效果: 即下拉列表在点开的一瞬间穿过了下方的元素,然后再显示正常 求解

  • 我在获取下拉列表的值时遇到了麻烦,我有学生实体和部分实体,它们之间有一个关系船,在jsp中它就像而不是这个在jsp中,我需要获得特定的bean属性名称,如 学生示范班 我的道实现是这样的 像金丝马龙一样。 控制器就像 我对这个问题的最后润色是如何获得指定bean属性名的下拉值(这里我想获得bean属性名称,如)com.chan.Eschool.student.model.Section@26552