Handle replacement clicks even if a content placeholder is obstructed.

This commit is contained in:
hackademix 2019-07-21 02:24:56 +02:00
parent 081ffddda6
commit 22393ac858
1 changed files with 8 additions and 3 deletions

View File

@ -72,9 +72,14 @@ var PlaceHolder = (() => {
static listen() {
PlaceHolder.listen = () => {};
window.addEventListener("click", ev => {
if (ev.button === 0) {
let replacement = ev.target.closest("a.__NoScript_PlaceHolder__");
let ph = replacement && ev.isTrusted && replacement._placeHolderObj;
if (ev.button === 0 && ev.isTrusted) {
let ph, replacement;
for (let e of document.elementsFromPoint(ev.clientX, ev.clientY)) {
if (ph = e._placeHolderObj) {
replacement = e;
break;
}
}
if (ph) {
ev.preventDefault();
ev.stopPropagation();