UNPKG

tui-code-snippet

Version:
40 lines (32 loc) 1.06 kB
/** * @fileoverview Get mouse position from mouse event * @author NHN FE Development Lab <dl_javascript@nhn.com> */ 'use strict'; var isArray = require('../type/isArray'); /** * Get mouse position from mouse event * * If supplied relatveElement parameter then return relative position based on * element * @param {(MouseEvent|object|number[])} position - mouse position object * @param {HTMLElement} relativeElement HTML element that calculate relative * position * @returns {number[]} mouse position * @memberof module:domEvent */ function getMousePosition(position, relativeElement) { var positionArray = isArray(position); var clientX = positionArray ? position[0] : position.clientX; var clientY = positionArray ? position[1] : position.clientY; var rect; if (!relativeElement) { return [clientX, clientY]; } rect = relativeElement.getBoundingClientRect(); return [ clientX - rect.left - relativeElement.clientLeft, clientY - rect.top - relativeElement.clientTop ]; } module.exports = getMousePosition;