Static class to manage the mouse and related. It will return itself if it is tried to be instantiated.
- Source:
Namespaces
Methods
-
<static> getButtons() → {Object}
-
Tells what mouse buttons are down (LEFT, MIDDLE and/or RIGHT buttons).
- Source:
Returns:
Returns an object using the following format (where "true" means that the button is being pressed): { LEFT : boolean, MIDDLE : boolean, RIGHT : boolean }
- Type
- Object
-
<static> getLockElement( [avoidCache]) → {Element|null}
-
Gets the lock element for the mouse pointer (if any) or null otherwise. More information: Pointer Lock API.
Parameters:
Name Type Argument Default Description avoidCacheboolean <optional>
false If set to false, the returning value will use the previously-cached value (updated when this function is called with this parameter set to true or the onPointerLockChange or analog event is fired or when the
CB_Mouse.lockorCB_Mouse.unlockfunctions are called successfully).- Source:
Returns:
Returns the lock element for the mouse pointer (if any) or null otherwise.
- Type
- Element | null
-
<static> getX( [e] [, ignoreScroll] [, ignoreLock]) → {number}
-
Gets and returns the X coordinate (horizontal position) of the mouse (relative to the window in desktop) in pixels.
Parameters:
Name Type Argument Default Description eEvent <optional>
Mouse event object. If not provided, the returning value will use the previously-cached value (updated the last time that the onMouseMove event was fired).
ignoreScrollboolean <optional>
false If set to true, the horizontal scroll position will not be added to the returning value.
ignoreLockboolean <optional>
false If set to true, it will ignore whether the cursor is being locked or not. Otherwise, if set to false and the cursor is locked, the returning value will only have in mind the position in the locking element.
- Source:
Returns:
Returns the X coordinate (horizontal position) of the mouse (relative to the window in desktop) in pixels.
- Type
- number
-
<static> getXMovement( [e]) → {number}
-
Returns the current X (horizontal) movement (useful when the mouse pointer is locked) in pixels. More information: MouseEvent.movementX.
Parameters:
Name Type Argument Description eEvent <optional>
Mouse event object. If not provided, the returning value will use the previously-cached value (updated the last time that the onMouseMove event was fired).
- Source:
Returns:
Returns the current X (horizontal) movement (useful when the mouse pointer is locked) in pixels.
- Type
- number
-
<static> getXRelative(x [, ignoreScroll]) → {number}
-
Gets and returns the current X coordinate (horizontal position) in pixels of the mouse relative to a given X position. The returning value uses the previously-cached value (updated the last time that the onMouseMove event was fired).
Parameters:
Name Type Argument Default Description xnumber The X coordinate (horizontal position) in pixels. The returning value will be calculated relatively to it.
ignoreScrollboolean <optional>
false If set to true, the horizontal scroll position will not be added to the returning value.
- Source:
- To Do:
-
- Think about allowing to define an "e" parameter with the mouse event object.
Returns:
Returns the current X coordinate (horizontal position) in pixels of the mouse relative to a given X position.
- Type
- number
-
<static> getY( [e] [, ignoreScroll] [, ignoreLock]) → {number}
-
Gets and returns the Y coordinate (vertical position) of the mouse (relative to the window in desktop) in pixels.
Parameters:
Name Type Argument Default Description eEvent <optional>
Mouse event object. If not provided, the returning value will use the previously-cached value (updated the last time that the onMouseMove event was fired).
ignoreScrollboolean <optional>
false If set to true, the vertical scroll position will not be added to the returning value.
ignoreLockboolean <optional>
false If set to true, it will ignore whether the cursor is being locked or not. Otherwise, if set to false and the cursor is locked, the returning value will only have in mind the position in the locking element.
- Source:
Returns:
Returns the Y coordinate (vertical position) of the mouse (relative to the window in desktop) in pixels.
- Type
- number
-
<static> getYMovement( [e]) → {number}
-
Returns the current Y (vertical) movement (useful when the mouse pointer is locked) in pixels. More information: MouseEvent.movementY.
Parameters:
Name Type Argument Description eEvent <optional>
Mouse event object. If not provided, the returning value will use the previously-cached value (updated the last time that the onMouseMove event was fired).
- Source:
Returns:
Returns the current Y (vertical) movement (useful when the mouse pointer is locked) in pixels.
- Type
- number
-
<static> getYRelative(y [, ignoreScroll]) → {number}
-
Gets and returns the current Y coordinate (vertical position) in pixels of the mouse relative to a given Y position. The returning value uses the previously-cached value (updated the last time that the onMouseMove event was fired).
Parameters:
Name Type Argument Default Description ynumber The Y coordinate (vertical position) in pixels. The returning value will be calculated relatively to it.
ignoreScrollboolean <optional>
false If set to true, the vertical scroll position will not be added to the returning value.
- Source:
- To Do:
-
- Think about allowing to define an "e" parameter with the mouse event object.
Returns:
Returns the current Y coordinate (vertical position) in pixels of the mouse relative to a given Y position.
- Type
- number
-
<static> hide( [element] [, recursive])
-
Hides the mouse cursor in a given DOM element by changing its internal CSS code of the style.cursor property.
Parameters:
Name Type Argument Default Description elementElement <optional>
document.body If a DOM element is given, the mouse cursor will be hidden when it is over this DOM element. Otherwise, it will be hidden in the whole document (using document.body as element).
recursiveboolean <optional>
true If it is set to true, all the child DOM elements will also be affected.
- Source:
- To Do:
-
- Check whether the path used in the "url" is right or not (now it uses the
CB_scriptPathvariable).
- Check whether the path used in the "url" is right or not (now it uses the
-
<static> isLockSupported() → {boolean}
-
Tells whether mouse pointer lock is supported or not. More information: Pointer Lock API.
- Source:
Returns:
Returns whether mouse pointer lock is supported or not.
- Type
- boolean
-
<static> isLocked( [avoidCache]) → {boolean}
-
Tells whether the mouse pointer is locked or not. More information: Pointer Lock API.
Parameters:
Name Type Argument Default Description avoidCacheboolean <optional>
false Used as the parameter to call the
CB_Mouse.getLockElementfunction internally.- Source:
Returns:
Returns whether the mouse pointer is locked or not.
- Type
- boolean
-
<static> isOverCircle(centreX, centreY, radius [, element]) → {boolean}
-
Tells whether the mouse is over a given circle or not.
Parameters:
Name Type Argument Description centreXnumber The X coordinate (horizontal position) of the center of the circle in pixels.
centreYnumber The Y coordinate (vertical position) of the center of the circle in pixels.
radiusnumber The radius of the circle in pixels.
elementElement <optional>
If a DOM element is given, the mouse coordinates will be calculated relatively to the position of this DOM element.
- Source:
Returns:
Returns whether the mouse is over the given circle or not.
- Type
- boolean
-
<static> isOverElement(element) → {boolean}
-
Tells whether the mouse is over a given DOM element or not.
Parameters:
Name Type Description elementElement The DOM element where we want to know whether the mouse is over or not.
- Source:
Returns:
Returns whether the mouse is over the given DOM element or not.
- Type
- boolean
-
<static> isOverEllipse(centreX, centreY, radiusX, radiusY [, rotation] [, rotationUseDegrees]) → {boolean}
-
Tells whether the mouse is over a given ellipse or not.
Parameters:
Name Type Argument Default Description centreXnumber The "X" coordinate of the center of the ellipse.
centreYnumber The "Y" coordinate of the center of the ellipse.
radiusXnumber The X (horizontal) radius of the ellipse.
radiusYnumber The Y (vertical) radius of the ellipse.
rotationnumber <optional>
0 The ellipse rotation. The value given will be considered either degrees or radians depending on the given "rotationUseDegrees" parameter (by default, it is considered radians). Not implemented yet!
rotationUseDegreesboolean <optional>
false Defines whether the "rotation" given should be considered degrees or not (radians). Not implemented yet!
- Source:
Returns:
Returns whether the mouse is over the given ellipse or not.
- Type
- boolean
-
<static> isOverLine(lineX1, lineY1, lineX2, lineY2 [, tolerance] [, element]) → {boolean}
-
Tells whether the mouse is over a given line (infinite line) or not.
Parameters:
Name Type Argument Default Description lineX1number The X coordinate (horizontal position) of the first pixel of the line.
lineY1number The Y coordinate (vertical position) of the first pixel of the line.
lineX2number The X coordinate (horizontal position) of the second pixel of the line.
lineY2number The Y coordinate (vertical position) of the second pixel of the line.
tolerancenumber <optional>
1 The amount of loss of precision we can tolerate to consider a collision.
elementElement <optional>
If a DOM element is given, the mouse coordinates will be calculated relatively to the position of this DOM element.
- Source:
- To Do:
-
- Think about using a "width" parameter (apart from the "tolerance" parameter).
Returns:
Returns whether the mouse is over the given line (infinite line) or not.
- Type
- boolean
-
<static> isOverRectangle(rectangleX, rectangleY, rectangleWidth, rectangleHeight [, element]) → {boolean}
-
Tells whether the mouse is over a given rectangle or not.
Parameters:
Name Type Argument Description rectangleXnumber The X coordinate (horizontal position) of the first pixel of the rectangle (upper left corner).
rectangleYnumber The Y coordinate (vertical position) of the first pixel of the rectangle (upper left corner).
rectangleWidthnumber The width of the rectangle in pixels.
rectangleHeightnumber The height of the rectangle in pixels.
elementElement <optional>
If a DOM element is given, the mouse coordinates will be calculated relatively to the position of this DOM element.
- Source:
Returns:
Returns whether the mouse is over the given rectangle or not.
- Type
- boolean
-
<static> isOverSegment(lineX1, lineY1, lineX2, lineY2 [, tolerance] [, element]) → {boolean}
-
Tells whether the mouse is over a given line segment or not.
Parameters:
Name Type Argument Default Description lineX1number The X coordinate (horizontal position) of the first pixel of the line segment.
lineY1number The Y coordinate (vertical position) of the first pixel of the line segment.
lineX2number The X coordinate (horizontal position) of the second pixel of the line segment.
lineY2number The Y coordinate (vertical position) of the second pixel of the line segment.
tolerancenumber <optional>
1 The amount of loss of precision we can tolerate to consider a collision.
elementElement <optional>
If a DOM element is given, the mouse coordinates will be calculated relatively to the position of this DOM element.
- Source:
- To Do:
-
- Think about using a "width" parameter (apart from the "tolerance" parameter).
Returns:
Returns whether the mouse is over the given line segment or not.
- Type
- boolean
-
<static> lock( [target], callbackOk, callbackError) → {Element|null}
-
Locks the mouse pointer (if possible). More information: Pointer Lock API.
Parameters:
Name Type Argument Default Description targetElement <optional>
document.body The DOM element that the mouse pointer will be locked to.
callbackOkfunction Function callback that will be called (without parameters) if the mouse pointer could be locked successfully.
callbackErrorfunction Function callback that will be called (without parameters) if the mouse pointer could not be locked successfully.
- Source:
Returns:
Returns the current lock element for the mouse pointer (if any) or null otherwise.
- Type
- Element | null
-
<static> normalizeEvent(e) → {Event}
-
Tries to return the given mouse event object with some properties normalized (since different clients can use different values) and perhaps some new properties added (in the case they were missing), when possible. The new attached methods and properties may include polyfills, etc. It also calls the
CB_Events.normalizefunction internally. Some properties added or affected could be deltaX, deltaY, deltaZ, force, clientX, clientY, etc.Parameters:
Name Type Description eEvent Mouse event object. If not provided, it will use the value of "event", "window.event", "Event" or an empty object ("{}").
- Source:
- To Do:
Returns:
Returns the mouse event object normalized.
- Type
- Event
-
<static> onButtonDown(callbackFunction [, keepOldFunction] [, useCapture] [, target])
-
Sets a function to execute when a mouse button is down (onMouseDown event) or removes it.
Parameters:
Name Type Argument Default Description callbackFunctionfunction | null The function (event listener) that we want to execute when the event is fired. The first and unique parameter received for this function will be the mouse event object (already normalized by the
CB_Mouse.normalizeEventfunction). If a null value is used, the event will be removed.keepOldFunctionboolean <optional>
true Defines whether we want to keep any possible previous event listener for the same target and event name or not.
useCaptureboolean <optional>
false Defines whether the event we want to add will use capture or not. This parameter will be effective only if the current client supports the addEventListener method and will be used as its third parameter.
targetObject <optional>
document The target where we want to attach the event listener.
- Source:
-
<static> onButtonUp(callbackFunction [, keepOldFunction] [, useCapture] [, target])
-
Sets a function to execute when a mouse button is up (onMouseUp event) or removes it.
Parameters:
Name Type Argument Default Description callbackFunctionfunction | null The function (event listener) that we want to execute when the event is fired. The first and unique parameter received for this function will be the mouse event object (already normalized by the
CB_Mouse.normalizeEventfunction). If a null value is used, the event will be removed.keepOldFunctionboolean <optional>
true Defines whether we want to keep any possible previous event listener for the same target and event name or not.
useCaptureboolean <optional>
false Defines whether the event we want to add will use capture or not. This parameter will be effective only if the current client supports the addEventListener method and will be used as its third parameter.
targetObject <optional>
document The target where we want to attach the event listener.
- Source:
-
<static> onClick(callbackFunction [, keepOldFunction] [, useCapture] [, target])
-
Sets a function to execute when a click happens (onClick event) or removes it.
Parameters:
Name Type Argument Default Description callbackFunctionfunction | null The function (event listener) that we want to execute when the event is fired. The first and unique parameter received for this function will be the mouse event object (already normalized by the
CB_Mouse.normalizeEventfunction). If a null value is used, the event will be removed.keepOldFunctionboolean <optional>
true Defines whether we want to keep any possible previous event listener for the same target and event name or not.
useCaptureboolean <optional>
false Defines whether the event we want to add will use capture or not. This parameter will be effective only if the current client supports the addEventListener method and will be used as its third parameter.
targetObject <optional>
document The target where we want to attach the event listener.
- Source:
-
<static> onDblClick(callbackFunction [, keepOldFunction] [, useCapture] [, target])
-
Sets a function to execute when a click happens (onDblClick event) or removes it.
Parameters:
Name Type Argument Default Description callbackFunctionfunction | null The function (event listener) that we want to execute when the event is fired. The first and unique parameter received for this function will be the mouse event object (already normalized by the
CB_Mouse.normalizeEventfunction). If a null value is used, the event will be removed.keepOldFunctionboolean <optional>
true Defines whether we want to keep any possible previous event listener for the same target and event name or not.
useCaptureboolean <optional>
false Defines whether the event we want to add will use capture or not. This parameter will be effective only if the current client supports the addEventListener method and will be used as its third parameter.
targetObject <optional>
document The target where we want to attach the event listener.
- Source:
-
<static> onLeave(callbackFunction [, keepOldFunction] [, useCapture] [, target])
-
Sets a function to execute when a mouse leaves a DOM element (onMouseLeave event) or removes it.
Parameters:
Name Type Argument Default Description callbackFunctionfunction | null The function (event listener) that we want to execute when the event is fired. The first and unique parameter received for this function will be the mouse event object (already normalized by the
CB_Mouse.normalizeEventfunction). If a null value is used, the event will be removed.keepOldFunctionboolean <optional>
true Defines whether we want to keep any possible previous event listener for the same target and event name or not.
useCaptureboolean <optional>
false Defines whether the event we want to add will use capture or not. This parameter will be effective only if the current client supports the addEventListener method and will be used as its third parameter.
targetObject <optional>
window The target where we want to attach the event listener.
- Source:
-
<static> onLockChange(callbackFunction [, keepOldFunction] [, useCapture])
-
Sets a function to execute when the mouse pointer lock functionality changes its state (it has been either locked or unlocked, using
pointerlockchange}, mozpointerlockchange or webkitpointerlockchange event) or removes it. More information: Pointer Lock API.Parameters:
Name Type Argument Default Description callbackFunctionfunction | null The function (event listener) that we want to execute when the event is fired. The first and unique parameter received for this function will be the mouse event object (already normalized by the
CB_Mouse.normalizeEventfunction). If a null value is used, the event will be removed.keepOldFunctionboolean <optional>
true Defines whether we want to keep any possible previous event listener for the same target and event name or not.
useCaptureboolean <optional>
false Defines whether the event we want to add will use capture or not. This parameter will be effective only if the current client supports the addEventListener method and will be used as its third parameter.
- Source:
-
<static> onLockError(callbackFunction [, keepOldFunction] [, useCapture])
-
Sets a function to execute when the mouse pointer fails to either lock or unlock (using pointerlockerror, mozpointerlockerror or webkitpointerlockerror event) or removes it. More information: Pointer Lock API.
Parameters:
Name Type Argument Default Description callbackFunctionfunction | null The function (event listener) that we want to execute when the event is fired. The first and unique parameter received for this function will be the mouse event object (already normalized by the
CB_Mouse.normalizeEventfunction). If a null value is used, the event will be removed.keepOldFunctionboolean <optional>
true Defines whether we want to keep any possible previous event listener for the same target and event name or not.
useCaptureboolean <optional>
false Defines whether the event we want to add will use capture or not. This parameter will be effective only if the current client supports the addEventListener method and will be used as its third parameter.
- Source:
-
<static> onMove(callbackFunction [, keepOldFunction] [, useCapture] [, target])
-
Sets a function to execute when a click happens (onMouseMove event) or removes it.
Parameters:
Name Type Argument Default Description callbackFunctionfunction | null The function (event listener) that we want to execute when the event is fired. The first and unique parameter received for this function will be the mouse event object (already normalized by the
CB_Mouse.normalizeEventfunction). If a null value is used, the event will be removed.keepOldFunctionboolean <optional>
true Defines whether we want to keep any possible previous event listener for the same target and event name or not.
useCaptureboolean <optional>
false Defines whether the event we want to add will use capture or not. This parameter will be effective only if the current client supports the addEventListener method and will be used as its third parameter.
targetObject <optional>
document The target where we want to attach the event listener.
- Source:
-
<static> onOut(callbackFunction [, keepOldFunction] [, useCapture] [, target])
-
Sets a function to execute when a mouse gets out of a DOM element (onMouseOut event) or removes it.
Parameters:
Name Type Argument Default Description callbackFunctionfunction | null The function (event listener) that we want to execute when the event is fired. The first and unique parameter received for this function will be the mouse event object (already normalized by the
CB_Mouse.normalizeEventfunction). If a null value is used, the event will be removed.keepOldFunctionboolean <optional>
true Defines whether we want to keep any possible previous event listener for the same target and event name or not.
useCaptureboolean <optional>
false Defines whether the event we want to add will use capture or not. This parameter will be effective only if the current client supports the addEventListener method and will be used as its third parameter.
targetObject <optional>
document The target where we want to attach the event listener.
- Source:
-
<static> onOver(callbackFunction [, keepOldFunction] [, useCapture] [, target])
-
Sets a function to execute when a mouse is over a DOM element (onMouseOver event) or removes it.
Parameters:
Name Type Argument Default Description callbackFunctionfunction | null The function (event listener) that we want to execute when the event is fired. The first and unique parameter received for this function will be the mouse event object (already normalized by the
CB_Mouse.normalizeEventfunction). If a null value is used, the event will be removed.keepOldFunctionboolean <optional>
true Defines whether we want to keep any possible previous event listener for the same target and event name or not.
useCaptureboolean <optional>
false Defines whether the event we want to add will use capture or not. This parameter will be effective only if the current client supports the addEventListener method and will be used as its third parameter.
targetObject <optional>
document The target where we want to attach the event listener.
- Source:
-
<static> onWheel(callbackFunction [, keepOldFunction] [, useCapture] [, target])
-
Sets a function to execute when the mouse wheel is used (onWheel, onMouseWheel or DOMMouseScroll event) or removes it.
Parameters:
Name Type Argument Default Description callbackFunctionfunction | null The function (event listener) that we want to execute when the event is fired. The first and unique parameter received for this function will be the mouse event object (already normalized by the
CB_Mouse.normalizeEventfunction). If a null value is used, the event will be removed.keepOldFunctionboolean <optional>
true Defines whether we want to keep any possible previous event listener for the same target and event name or not.
useCaptureboolean <optional>
false Defines whether the event we want to add will use capture or not. This parameter will be effective only if the current client supports the addEventListener method and will be used as its third parameter.
targetObject <optional>
document The target where we want to attach the event listener.
- Source:
-
<static> restore( [element] [, recursive])
-
Restores (unhides) the mouse cursor in a given DOM element by changing its internal CSS code of the style.cursor property to the default one (using "default" as the CSS code).
Parameters:
Name Type Argument Default Description elementElement <optional>
document.body If a DOM element is given, the mouse cursor will be restored (unhidden) when it is over this DOM element. Otherwise, it will be restored (unhidden) in the whole document (using document.body as the "element").
recursiveboolean <optional>
true If it is set to true, all the child DOM elements will also be affected.
- Source:
-
<static> setCSS( [CSS] [, element] [, recursive])
-
Sets the desired CSS code for the style.cursor property of the given DOM element.
Parameters:
Name Type Argument Default Description CSSstring <optional>
"" CSS code for the style.cursor property of the given DOM element. If not given, an empty string will be used.
elementElement <optional>
document.body If a DOM element is given, the CSS code updated will affect the given DOM element. Otherwise, it will affect the whole document (using document.body as the "element").
recursiveboolean <optional>
true If it is set to true, all the child DOM elements will also be affected.
- Source:
-
<static> unlock() → {boolean}
-
Unlocks the mouse pointer (if possible). More information: Pointer Lock API.
- Source:
Returns:
Returns true if the mouse pointer has been unlocked or false otherwise.
- Type
- boolean
-
<static> wasLocked() → {boolean}
-
Tells whether the mouse pointer was locked before or not when the
CB_Mouse.isLockedfunction was called the last time. More information: Pointer Lock API.- Source:
Returns:
Returns whether the mouse pointer was locked before or not when the
CB_Mouse.isLockedfunction was called the last time.- Type
- boolean