Types of Mouse Events
mousedown
/mouseup
: Mouse button is pressed / releasedclick
: Triggered after mousedown and mouseup on the same elementdblclick
: Double clickmousemove
: Mouse is movedmouseover
/mouseout
: Mouse enters / leaves an element
Mouse Event Properties
clientX
/clientY
: Coordinates relative to the windowpageX
/pageY
: Coordinates relative to the documentwhich
: Which mouse button was pressed (1: left, 2: middle, 3: right)
Example:
document.addEventListener('mousemove', function(event) {
console.log('Mouse position:', event.clientX, event.clientY);
});
Drag and Drop
You can implement drag and drop functionality using mouse events:
let draggable = document.getElementById('draggable');
let isDragging = false;
let startX, startY;
draggable.addEventListener('mousedown', function(event) {
isDragging = true;
startX = event.clientX - draggable.offsetLeft;
startY = event.clientY - draggable.offsetTop;
});
document.addEventListener('mousemove', function(event) {
if (isDragging) {
draggable.style.left = (event.clientX - startX) + 'px';
draggable.style.top = (event.clientY - startY) + 'px';
}
});
document.addEventListener('mouseup', function() {
isDragging = false;
});