Fix browser-custom-element.js event handler error
Send real mouse/pointer events so that the CE can call, e.g., preventClickEvent().
This commit is contained in:
parent
a7f1235fd1
commit
61f21f48e8
1 changed files with 14 additions and 7 deletions
|
@ -952,18 +952,25 @@ class ReaderTab extends ReaderInstance {
|
|||
&& event.target
|
||||
&& event.target.closest
|
||||
&& !event.target.closest('#outerContainer')) {
|
||||
let evt = new this._iframeWindow.CustomEvent('mouseup', { bubbles: false });
|
||||
evt.clientX = event.clientX;
|
||||
evt.clientY = event.clientY;
|
||||
let evt = new this._iframeWindow.MouseEvent('mouseup', { ...event, bubbles: false });
|
||||
this._iframeWindow.dispatchEvent(evt);
|
||||
if (evt.defaultPrevented) {
|
||||
event.preventDefault();
|
||||
return;
|
||||
}
|
||||
if (evt.clickEventPrevented()) {
|
||||
event.preventClickEvent();
|
||||
}
|
||||
|
||||
evt = new this._iframeWindow.CustomEvent('pointerup', { bubbles: false });
|
||||
evt.clientX = event.clientX;
|
||||
evt.clientY = event.clientY;
|
||||
evt = new this._iframeWindow.PointerEvent('pointerup', { ...event, bubbles: false });
|
||||
this._iframeWindow.dispatchEvent(evt);
|
||||
if (evt.defaultPrevented) {
|
||||
event.preventDefault();
|
||||
}
|
||||
}
|
||||
}
|
||||
catch(e) {
|
||||
catch (e) {
|
||||
Zotero.logError(e);
|
||||
}
|
||||
});
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue