I'm trying to dispatch a contextMenu
event and have noticed that in the MouseEvent; interface for TypeScript there isn't a
target` property which is in the documentation of contextMenu.
my TS snippet
const emulatedMouseEvent: MouseEvent = new MouseEvent('contextmenu', {
bubbles: true,
altKey: event.args[0],
ctrlKey: event.args[1],
shiftKey: event.args[2]
})
this.webview.dispatchEvent(emulatedMouseEvent)
TS Error when trying to add target: event.args[3]
Argument of type '{ bubbles: true; altKey: any; ctrlKey: any; shiftKey: any; target: any; }' is not assignable to parameter of type 'MouseEventInit'.
Object literal may only specify known properties, and 'target' does not exist in type 'MouseEventInit'.ts(2345)
and in lib.dom.d.ts
interface MouseEvent extends UIEvent {
readonly altKey: boolean;
readonly button: number;
readonly buttons: number;
readonly clientX: number;
readonly clientY: number;
readonly ctrlKey: boolean;
/** @deprecated */
readonly fromElement: Element;
readonly layerX: number;
readonly layerY: number;
readonly metaKey: boolean;
readonly movementX: number;
readonly movementY: number;
readonly offsetX: number;
readonly offsetY: number;
readonly pageX: number;
readonly pageY: number;
readonly relatedTarget: EventTarget;
readonly screenX: number;
readonly screenY: number;
readonly shiftKey: boolean;
/** @deprecated */
readonly toElement: Element;
/** @deprecated */
readonly which: number;
readonly x: number;
readonly y: number;
getModifierState(keyArg: string): boolean;
initMouseEvent(typeArg: string, canBubbleArg: boolean, cancelableArg: boolean, viewArg: Window, detailArg: number, screenXArg: number, screenYArg: number, clientXArg: number, clientYArg: number, ctrlKeyArg: boolean, altKeyArg: boolean, shiftKeyArg: boolean, metaKeyArg: boolean, buttonArg: number, relatedTargetArg: EventTarget | null): void;
}
declare var MouseEvent: {
prototype: MouseEvent;
new(typeArg: string, eventInitDict?: MouseEventInit): MouseEvent;
};
of course in the MouseEvent documentation there isn't a Target
property but I don't know how I'm supposed to create this contextmenu
event with the target property which does exist on the event itself but not on MouseEvent of course.
Edit: not a duplicate, that question deals with Target being returned null and the solution does not suffice for this question.