diff options
Diffstat (limited to 'src/content/PlaceHolder.js')
-rw-r--r-- | src/content/PlaceHolder.js | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/src/content/PlaceHolder.js b/src/content/PlaceHolder.js index b7090ce..69db5dd 100644 --- a/src/content/PlaceHolder.js +++ b/src/content/PlaceHolder.js @@ -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(); |