happy-dom
Version:
Happy DOM is a JavaScript implementation of a web browser without its graphical user interface. It includes many web standards from WHATWG DOM and HTML.
51 lines (47 loc) • 1.59 kB
text/typescript
import UIEvent from '../UIEvent.js';
import EventTarget from '../EventTarget.js';
import IMouseEventInit from './IMouseEventInit.js';
/**
*
*/
export default class MouseEvent extends UIEvent {
public readonly altKey: boolean;
public readonly button: number;
public readonly buttons: number;
public readonly clientX: number;
public readonly clientY: number;
public readonly ctrlKey: boolean;
public readonly metaKey: boolean;
public readonly movementX: number;
public readonly movementY: number;
public readonly offsetX: number;
public readonly offsetY: number;
public readonly region: string;
public readonly relatedTarget: EventTarget | null;
public readonly screenX: number;
public readonly screenY: number;
public readonly shiftKey: boolean;
/**
* Constructor.
*
* @param type Event type.
* @param [eventInit] Event init.
*/
constructor(type: string, eventInit: IMouseEventInit | null = null) {
super(type, eventInit);
this.altKey = eventInit?.altKey ?? false;
this.button = eventInit?.button ?? 0;
this.buttons = eventInit?.buttons ?? 0;
this.clientX = eventInit?.clientX ?? 0;
this.clientY = eventInit?.clientY ?? 0;
this.ctrlKey = eventInit?.ctrlKey ?? false;
this.metaKey = eventInit?.metaKey ?? false;
this.movementX = eventInit?.movementX ?? 0;
this.movementY = eventInit?.movementY ?? 0;
this.region = eventInit?.region ?? '';
this.relatedTarget = eventInit?.relatedTarget ?? null;
this.screenX = eventInit?.screenX ?? 0;
this.screenY = eventInit?.screenY ?? 0;
this.shiftKey = eventInit?.shiftKey ?? false;
}
}