Merge pull request #7233 from mehdirande/bugfix/outside-click-on-capture-phase
Fix: Trigger outsideClickListener in capture phase to handle stopPropagationpull/7281/head
commit
35b13d74ca
|
@ -791,12 +791,12 @@ export default {
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
document.addEventListener('click', this.outsideClickListener);
|
document.addEventListener('click', this.outsideClickListener, true);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
unbindOutsideClickListener() {
|
unbindOutsideClickListener() {
|
||||||
if (this.outsideClickListener) {
|
if (this.outsideClickListener) {
|
||||||
document.removeEventListener('click', this.outsideClickListener);
|
document.removeEventListener('click', this.outsideClickListener, true);
|
||||||
this.outsideClickListener = null;
|
this.outsideClickListener = null;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
|
@ -573,12 +573,12 @@ export default {
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
document.addEventListener('click', this.outsideClickListener);
|
document.addEventListener('click', this.outsideClickListener, true);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
unbindOutsideClickListener() {
|
unbindOutsideClickListener() {
|
||||||
if (this.outsideClickListener) {
|
if (this.outsideClickListener) {
|
||||||
document.removeEventListener('click', this.outsideClickListener);
|
document.removeEventListener('click', this.outsideClickListener, true);
|
||||||
this.outsideClickListener = null;
|
this.outsideClickListener = null;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
|
@ -472,12 +472,12 @@ export default {
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
document.addEventListener('click', this.outsideClickListener);
|
document.addEventListener('click', this.outsideClickListener, true);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
unbindOutsideClickListener() {
|
unbindOutsideClickListener() {
|
||||||
if (this.outsideClickListener) {
|
if (this.outsideClickListener) {
|
||||||
document.removeEventListener('click', this.outsideClickListener);
|
document.removeEventListener('click', this.outsideClickListener, true);
|
||||||
this.outsideClickListener = null;
|
this.outsideClickListener = null;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
|
@ -233,12 +233,12 @@ export default {
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
document.addEventListener('click', this.outsideClickListener);
|
document.addEventListener('click', this.outsideClickListener, true);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
unbindOutsideClickListener() {
|
unbindOutsideClickListener() {
|
||||||
if (this.outsideClickListener) {
|
if (this.outsideClickListener) {
|
||||||
document.removeEventListener('click', this.outsideClickListener);
|
document.removeEventListener('click', this.outsideClickListener, true);
|
||||||
this.outsideClickListener = null;
|
this.outsideClickListener = null;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
|
@ -428,12 +428,12 @@ export default {
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
document.addEventListener('click', this.outsideClickListener);
|
document.addEventListener('click', this.outsideClickListener, true);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
unbindOutsideClickListener() {
|
unbindOutsideClickListener() {
|
||||||
if (this.outsideClickListener) {
|
if (this.outsideClickListener) {
|
||||||
document.removeEventListener('click', this.outsideClickListener);
|
document.removeEventListener('click', this.outsideClickListener, true);
|
||||||
this.outsideClickListener = null;
|
this.outsideClickListener = null;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
|
@ -591,12 +591,12 @@ export default {
|
||||||
this.selfClick = false;
|
this.selfClick = false;
|
||||||
};
|
};
|
||||||
|
|
||||||
document.addEventListener('click', this.outsideClickListener);
|
document.addEventListener('click', this.outsideClickListener, true);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
unbindOutsideClickListener() {
|
unbindOutsideClickListener() {
|
||||||
if (this.outsideClickListener) {
|
if (this.outsideClickListener) {
|
||||||
document.removeEventListener('click', this.outsideClickListener);
|
document.removeEventListener('click', this.outsideClickListener, true);
|
||||||
this.outsideClickListener = null;
|
this.outsideClickListener = null;
|
||||||
this.selfClick = false;
|
this.selfClick = false;
|
||||||
}
|
}
|
||||||
|
|
|
@ -215,12 +215,12 @@ export default {
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
document.addEventListener('click', this.outsideClickListener);
|
document.addEventListener('click', this.outsideClickListener, true);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
unbindOutsideClickListener() {
|
unbindOutsideClickListener() {
|
||||||
if (this.outsideClickListener) {
|
if (this.outsideClickListener) {
|
||||||
document.removeEventListener('click', this.outsideClickListener);
|
document.removeEventListener('click', this.outsideClickListener, true);
|
||||||
this.outsideClickListener = null;
|
this.outsideClickListener = null;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
|
@ -463,12 +463,12 @@ export default {
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
document.addEventListener('click', this.outsideClickListener);
|
document.addEventListener('click', this.outsideClickListener, true);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
unbindOutsideClickListener() {
|
unbindOutsideClickListener() {
|
||||||
if (this.outsideClickListener) {
|
if (this.outsideClickListener) {
|
||||||
document.removeEventListener('click', this.outsideClickListener);
|
document.removeEventListener('click', this.outsideClickListener, true);
|
||||||
this.outsideClickListener = null;
|
this.outsideClickListener = null;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
|
@ -307,12 +307,12 @@ export default {
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
document.addEventListener('click', this.outsideClickListener);
|
document.addEventListener('click', this.outsideClickListener, true);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
unbindOutsideClickListener() {
|
unbindOutsideClickListener() {
|
||||||
if (this.outsideClickListener) {
|
if (this.outsideClickListener) {
|
||||||
document.removeEventListener('click', this.outsideClickListener);
|
document.removeEventListener('click', this.outsideClickListener, true);
|
||||||
this.outsideClickListener = null;
|
this.outsideClickListener = null;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
|
@ -451,12 +451,12 @@ export default {
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
document.addEventListener('click', this.outsideClickListener);
|
document.addEventListener('click', this.outsideClickListener, true);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
unbindOutsideClickListener() {
|
unbindOutsideClickListener() {
|
||||||
if (this.outsideClickListener) {
|
if (this.outsideClickListener) {
|
||||||
document.removeEventListener('click', this.outsideClickListener);
|
document.removeEventListener('click', this.outsideClickListener, true);
|
||||||
this.outsideClickListener = null;
|
this.outsideClickListener = null;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
|
@ -773,12 +773,12 @@ export default {
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
document.addEventListener('click', this.outsideClickListener);
|
document.addEventListener('click', this.outsideClickListener, true);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
unbindOutsideClickListener() {
|
unbindOutsideClickListener() {
|
||||||
if (this.outsideClickListener) {
|
if (this.outsideClickListener) {
|
||||||
document.removeEventListener('click', this.outsideClickListener);
|
document.removeEventListener('click', this.outsideClickListener, true);
|
||||||
this.outsideClickListener = null;
|
this.outsideClickListener = null;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
|
@ -215,12 +215,12 @@ export default {
|
||||||
this.selfClick = false;
|
this.selfClick = false;
|
||||||
};
|
};
|
||||||
|
|
||||||
document.addEventListener('click', this.outsideClickListener);
|
document.addEventListener('click', this.outsideClickListener, true);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
unbindOutsideClickListener() {
|
unbindOutsideClickListener() {
|
||||||
if (this.outsideClickListener) {
|
if (this.outsideClickListener) {
|
||||||
document.removeEventListener('click', this.outsideClickListener);
|
document.removeEventListener('click', this.outsideClickListener, true);
|
||||||
this.outsideClickListener = null;
|
this.outsideClickListener = null;
|
||||||
this.selfClick = false;
|
this.selfClick = false;
|
||||||
}
|
}
|
||||||
|
|
|
@ -734,12 +734,12 @@ export default {
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
document.addEventListener('click', this.outsideClickListener);
|
document.addEventListener('click', this.outsideClickListener, true);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
unbindOutsideClickListener() {
|
unbindOutsideClickListener() {
|
||||||
if (this.outsideClickListener) {
|
if (this.outsideClickListener) {
|
||||||
document.removeEventListener('click', this.outsideClickListener);
|
document.removeEventListener('click', this.outsideClickListener, true);
|
||||||
this.outsideClickListener = null;
|
this.outsideClickListener = null;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
|
@ -463,12 +463,12 @@ export default {
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
document.addEventListener('click', this.outsideClickListener);
|
document.addEventListener('click', this.outsideClickListener, true);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
unbindOutsideClickListener() {
|
unbindOutsideClickListener() {
|
||||||
if (this.outsideClickListener) {
|
if (this.outsideClickListener) {
|
||||||
document.removeEventListener('click', this.outsideClickListener);
|
document.removeEventListener('click', this.outsideClickListener, true);
|
||||||
this.outsideClickListener = null;
|
this.outsideClickListener = null;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
|
@ -388,12 +388,12 @@ export default {
|
||||||
this.selfClick = false;
|
this.selfClick = false;
|
||||||
};
|
};
|
||||||
|
|
||||||
document.addEventListener('click', this.outsideClickListener);
|
document.addEventListener('click', this.outsideClickListener, true);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
unbindOutsideClickListener() {
|
unbindOutsideClickListener() {
|
||||||
if (this.outsideClickListener) {
|
if (this.outsideClickListener) {
|
||||||
document.removeEventListener('click', this.outsideClickListener);
|
document.removeEventListener('click', this.outsideClickListener, true);
|
||||||
this.outsideClickListener = null;
|
this.outsideClickListener = null;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
Loading…
Reference in New Issue