在此处描述了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 。