CKEditor issue with Bootstrap v4 modal



在此处描述了Bootstrap V3 Modal内部使用CKEditor时的问题和BugFix。

使用Bootstrap v4函数名称从 enforcefocus 更改为 _enforcefocus

不幸的是,我的JS技能不足以将Bootstrap V3的建议的BugFix转换为Bootstrap V4。

任何帮助都被应用: - (

这个对我有用

$.fn.modal.Constructor.prototype._enforceFocus = function _enforceFocus() {
    var _this4 = this;
    $(document).off(Event.FOCUSIN).on(Event.FOCUSIN, function (event) {
        if (
            document !== event.target
            && _this4._element !== event.target
            && $(_this4._element).has(event.target).length === 0
            && !$(event.target.parentNode).hasClass('cke_dialog_ui_input_select')
            && !$(event.target.parentNode).hasClass('cke_dialog_ui_input_text')
        ) {
            _this4._element.focus();
        }
    });
};

我从Bootstrap V4中获取了原始函数 _enforcefocus ,并将!$(event.target.parentNode).hasClass('cke_dialog_ui_input_select')!$(event.target.parentNode).hasClass('cke_dialog_ui_input_text')添加到IF语句。

另一个解决方案是显示模式时传递选项{focus: false}。此选项在Bootstrap 4中是新的(请参阅Bootstrap 4文档(。使用此选项将阻止Bootstrap调用 _enforcefocus

最新更新