|
@@ -97,14 +97,13 @@ const EditorComp = defineComponent({
|
|
|
}
|
|
|
};
|
|
|
function isInCkBodyWrapper(dom: HTMLElement) {
|
|
|
-
|
|
|
- const out = {in: false, stop: true};
|
|
|
+ const out = { in: false, stop: true };
|
|
|
|
|
|
if (editorRefVal) {
|
|
|
const in1 =
|
|
|
editorRefVal.ui.view.toolbar.element?.contains(dom) ||
|
|
|
editorRefVal.ui.view.editable.element?.contains(dom);
|
|
|
- if (in1) {
|
|
|
+ if (in1) {
|
|
|
out.in = true;
|
|
|
return out;
|
|
|
}
|
|
@@ -115,19 +114,24 @@ const EditorComp = defineComponent({
|
|
|
out.stop = false;
|
|
|
return out;
|
|
|
}
|
|
|
+ const ckBodyWrapper = document.querySelector(".ck-body-wrapper");
|
|
|
+ if (ckBodyWrapper === dom || ckBodyWrapper?.contains(dom)) {
|
|
|
+ out.in = true;
|
|
|
+ return out;
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
let n = 0;
|
|
|
- let curr:any = dom;
|
|
|
+ let curr: any = dom;
|
|
|
do {
|
|
|
if (curr.id == "toptoolbar") {
|
|
|
out.in = true;
|
|
|
return out;
|
|
|
- };
|
|
|
+ }
|
|
|
curr = curr.parentElement;
|
|
|
- n +=1;
|
|
|
+ n += 1;
|
|
|
if (n > 10) break;
|
|
|
- }while(curr)
|
|
|
+ } while (curr);
|
|
|
return out;
|
|
|
}
|
|
|
|
|
@@ -136,7 +140,7 @@ const EditorComp = defineComponent({
|
|
|
const target = e.target as HTMLElement;
|
|
|
|
|
|
if (!editorRefVal) return;
|
|
|
- const test = isInCkBodyWrapper(target)
|
|
|
+ const test = isInCkBodyWrapper(target);
|
|
|
if (test.in) {
|
|
|
if (test.stop) {
|
|
|
e.stopPropagation();
|