您好我正在使用bootstrap模式弹出窗口来打开ckeditor。它正在工作但是当我点击该图像时,该对话框中的视频链接和任何其他图标将打开,但不可点击。我找到了这个JS修复程序,但它似乎不适用于Bootstrap 4.
<script>
CKEDITOR.replace('help_ldesc');
//CKEDITOR.replace('help_ldesc1');
$.fn.modal.Constructor.prototype.enforceFocus = function() {
var $modalElement = this.$element;
$(document).on('focusin.modal',function(e) {
var $parent = $(e.target.parentNode);
if ($modalElement[0] !== e.target && !$modalElement.has(e.target).length && $(e.target).parentsUntil('*[role="dialog"]').length === 0) {
$modalElement.focus();
}
});
};
</script>
演示:https://jsfiddle.net/waraywarayako/swxr110h/
从这个主题:CKEditor image dialog forms not clickable when in a modal dialog
答案 0 :(得分:1)
所以在发现这个修复(https://gist.github.com/kaddopur/9996231)在Bs 3.1.1中工作后,我比较了3.1.1和新v4之间的功能。 enforceFocus
功能已更改为_enforceFocus
。改变它似乎解决了这个问题:
$.fn.modal.Constructor.prototype._enforceFocus = function() {
modal_this = this
$(document).on('focusin', function (e) {
if (modal_this.$element[0] !== e.target && !modal_this.$element.has(e.target).length
&& !$(e.target.parentNode).hasClass('cke_dialog_ui_input_select')
&& !$(e.target.parentNode).hasClass('cke_dialog_ui_input_text')) {
modal_this.$element.focus()
}
})
};