放大镜-弹出窗口不允许其内部的弹出窗口集中焦点

Magnific-Popup does not allow popups within itself to take focus

本文关键字:窗口 集中 焦点 内部 不允许 放大镜      更新时间:2023-09-26

当TinyMCE(或任何其他所见即所得编辑器)在一个华丽的弹出框内初始化,它的工作没有问题,你可以编辑和格式化HTML。但是当你点击添加链接或添加图像按钮时,TinyMCE会打开另一个弹出窗口,TinyMCE弹出窗口的文本字段无法聚焦,因此不可编辑。是否有一个华丽的弹出设置,将允许TinyMCE采取焦点在自己的弹出?

代码是基本的:

$.magnificPopup.open({items:{src:'#modal'}});
tinymce.init({ selector: '#textarea'});

你需要排除其他弹出类,如果他们不在MagnificPopup DOM内。看到选择2在宏伟的弹出:搜索输入不能集中和https://github.com/dimsemenov/Magnific-Popup/issues/280

如作者所说:

当选项卡焦点发生变化时,弹出窗口会检查新的焦点元素是否存在在弹出框中。如果它在外部,弹出将焦点设置回根弹出元素。这是对"锁"做的。

"select2"插件:

$.magnificPopup.instance._onFocusIn = function(e) {
          // Do nothing if target element is select2 input
          if( $(e.target).hasClass('select2-input') ) {
            return true;
          } 
          // Else call parent method
          $.magnificPopup.proto._onFocusIn.call(this,e);
};