button button click

Welcome to button button click

Element: click event - Web APIs | MDN

2024.10.04 11:29


Skip to main content Skip to search Skip to select language Open main menu References References Overview / Web Technology

Web technology reference for developers

HTML

Structure of content on the web

CSS

Code used to describe document style

JavaScript

General-purpose scripting language

HTTP

Protocol for transmitting web resources

Web APIs

Interfaces for building web applications

Web Extensions

Developing extensions for web browsers

Web Technology

Web technology reference for developers

Guides Guides Overview / MDN Learning Area

Learn web development

MDN Learning Area

Learn web development

HTML

Learn to structure web content with HTML

CSS

Learn to style content using CSS

JavaScript

Learn to run scripts in the browser

Accessibility

Learn to make the web accessible to all

Plus Plus Overview

A customized MDN experience

AI Help

Get real-time assistance and support

Updates

All browser compatibility updates at a glance

Documentation

Learn how to use MDN Plus

FAQ

Frequently asked questions about MDN Plus

Curriculum Blog Tools Playground

Write, test and share your code

HTTP Observatory

Scan a website for free

AI Help

Get real-time assistance and support

Theme Log in Sign up for free References Web APIs Element click Article Actions English (US) Español Français 日本語 한국어 Português (do Brasil) Русский 中文 (简体) Filter sidebar Clear filter input

In this article

Syntax Event type Event properties Usage notes Examples Specifications Browser compatibility See also Element Instance properties ariaAtomic ariaAutoComplete ariaBrailleLabel ariaBrailleRoleDescription ariaBusy ariaChecked ariaColCount ariaColIndex ariaColIndexText ariaColSpan ariaCurrent ariaDescription ariaDisabled ariaExpanded ariaHasPopup ariaHidden ariaKeyShortcuts ariaLabel ariaLevel ariaLive ariaModal ariaMultiLine ariaMultiSelectable ariaOrientation ariaPlaceholder ariaPosInSet ariaPressed ariaReadOnly ariaRelevant Non-standard ariaRequired ariaRoleDescription ariaRowCount ariaRowIndex ariaRowIndexText ariaRowSpan ariaSelected ariaSetSize ariaSort ariaValueMax ariaValueMin ariaValueNow ariaValueText assignedSlot attributes childElementCount children classList className clientHeight clientLeft clientTop clientWidth currentCSSZoom elementTiming Experimental firstElementChild id innerHTML lastElementChild localName namespaceURI nextElementSibling outerHTML part prefix previousElementSibling scrollHeight scrollLeft scrollLeftMax Non-standard scrollTop scrollTopMax Non-standard scrollWidth shadowRoot slot tagName Instance methods after() animate() append() attachShadow() before() checkVisibility() closest() computedStyleMap() getAnimations() getAttribute() getAttributeNames() getAttributeNode() getAttributeNodeNS() getAttributeNS() getBoundingClientRect() getClientRects() getElementsByClassName() getElementsByTagName() getElementsByTagNameNS() getHTML() hasAttribute() hasAttributeNS() hasAttributes() hasPointerCapture() insertAdjacentElement() insertAdjacentHTML() insertAdjacentText() matches() prepend() querySelector() querySelectorAll() releasePointerCapture() remove() removeAttribute() removeAttributeNode() removeAttributeNS() replaceChildren() replaceWith() requestFullscreen() requestPointerLock() scroll() scrollBy() scrollIntoView() scrollIntoViewIfNeeded() Non-standard scrollTo() setAttribute() setAttributeNode() setAttributeNodeNS() setAttributeNS() setCapture() Non-standard Deprecated setHTMLUnsafe() setPointerCapture() toggleAttribute() Events afterscriptexecute Non-standard animationcancel animationend animationiteration animationstart auxclick beforeinput beforematch Experimental beforescriptexecute Non-standard beforexrselect Experimental blur click compositionend compositionstart compositionupdate contentvisibilityautostatechange contextmenu copy cut dblclick DOMActivate Deprecated DOMMouseScroll Non-standard Deprecated focus focusin focusout fullscreenchange fullscreenerror gesturechange Non-standard gestureend Non-standard gesturestart Non-standard gotpointercapture input keydown keypress Deprecated keyup lostpointercapture mousedown mouseenter mouseleave mousemove mouseout mouseover mouseup mousewheel Non-standard Deprecated MozMousePixelScroll Non-standard Deprecated paste pointercancel pointerdown pointerenter pointerleave pointermove pointerout pointerover pointerrawupdate Experimental pointerup scroll scrollend securitypolicyviolation touchcancel touchend touchmove touchstart transitioncancel transitionend transitionrun transitionstart webkitmouseforcechanged Non-standard webkitmouseforcedown Non-standard webkitmouseforceup Non-standard webkitmouseforcewillbegin Non-standard wheel Inheritance Node EventTarget

In this article

Syntax Event type Event properties Usage notes Examples Specifications Browser compatibility See also

Element: click event

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015 .

Learn more See full compatibility Report feedback

An element receives a click event when any of the following occurs:

A pointing-device button (such as a mouse's primary button) is both pressed and released while the pointer is located inside the element. A touch gesture is performed on the element. Any user interaction that is equivalent to a click occurs, such as pressing the Space key or Enter key while the element is focused.

Note: In practice, browsers don't fire the click event for custom controls such as a div with tabindex="0" . To check the reason behind this behavior, see this Chromium issue .

If the button is pressed on one element and the pointer is moved outside the element before the button is released, the event is fired on the most specific ancestor element that contained both elements.

click fires after both the mousedown and mouseup events have fired, in that order.

The event is a device-independent event — meaning it can be activated by touch, keyboard, mouse, and any other mechanism provided by assistive technology.

Syntax

Use the event name in methods like addEventListener() , or set an event handler property.

js addEventListener("click", (event) = {}); onclick = (event) = {};

Event type

A PointerEvent . Inherits from MouseEvent .

Note: In earlier versions of the specification the event type for this event was a MouseEvent , and this is still the type passed in Firefox and Safari.

Event properties

This interface inherits properties from MouseEvent and Event .

PointerEvent.altitudeAngle Read only Experimental

Represents the angle between a transducer (a pointer or stylus) axis and the X-Y plane of a device screen.

PointerEvent.azimuthAngle Read only Experimental

Represents the angle between the Y-Z plane and the plane containing both the transducer (a pointer or stylus) axis and the Y axis.

PointerEvent.pointerId Read only

A unique identifier for the pointer causing the event.

PointerEvent.width Read only

The width (magnitude on the X axis), in CSS pixels, of the contact geometry of the pointer.

PointerEvent.height Read only

The height (magnitude on the Y axis), in CSS pixels, of the contact geometry of the pointer.

PointerEvent.pressure Read only

The normalized pressure of the pointer input in the range 0 to 1 , where 0 and 1 represent the minimum and maximum pressure the hardware is capable of detecting, respectively.

PointerEvent.tangentialPressure Read only

The normalized tangential pressure of the pointer input (also known as barrel pressure or cylinder stress ) in the range -1 to 1 , where 0 is the neutral position of the control.

PointerEvent.tiltX Read only

The plane angle (in degrees, in the range of -90 to 90 ) between the Y–Z plane and the plane containing both the pointer (e.g. pen stylus) axis and the Y axis.

PointerEvent.tiltY Read only

The plane angle (in degrees, in the range of -90 to 90 ) between the X–Z plane and the plane containing both the pointer (e.g. pen stylus) axis and the X axis.

PointerEvent.twist Read only

The clockwise rotation of the pointer (e.g. pen stylus) around its major axis in degrees, with a value in the range 0 to 359 .

PointerEvent.pointerType Read only

Indicates the device type that caused the event (mouse, pen, touch, etc.).

PointerEvent.isPrimary Read only

Indicates if the pointer represents the primary pointer of this pointer type.

Usage notes

The PointerEvent object passed into the event handler for click has its detail property set to the number of times the target was clicked. In other words, detail will be 2 for a double-click, 3 for triple-click, and so forth. This counter resets after a short interval without any clicks occurring; the specifics of how long that interval is may vary from browser to browser and across platforms. The interval is also likely to be affected by user preferences; for example, accessibility options may extend this interval to make it easier to perform multiple clicks with adaptive interfaces.

Examples

This example displays the number of consecutive clicks on a button .

HTML

html button Click /button

JavaScript

js const button = document.querySelector("button"); button.addEventListener("click", (event) = { button.textContent = `Click count: ${event.detail}`; });

Result

Try making rapid, repeated clicks on the button to increase the click count. If you take a break between clicks, the count will reset.

Specifications

Specification UI Events
# event-type-click HTML Standard
# handler-onclick

Browser compatibility

BCD tables only load in the browser

See also

Introduction to events auxclick contextmenu dblclick mousedown mouseup pointerdown pointerup

Help improve MDN

Was this page helpful to you? Yes No Learn how to contribute .

This page was last modified on Aug 15, 2024 by MDN contributors .

View this page on GitHub • Report a problem with this content

Your blueprint for a better internet.

MDN on Mastodon MDN on X (formerly Twitter) MDN on GitHub MDN Blog RSS Feed

MDN

About Blog Careers Advertise with us

Support

Product help Report an issue

Our communities

MDN Community MDN Forum MDN Chat

Developers

Web Technologies Learn Web Development MDN Plus Hacks Blog Website Privacy Notice Cookies Legal Community Participation Guidelines

Visit Mozilla Corporation’s not-for-profit parent, the Mozilla Foundation .
Portions of this content are ©1998– 2024 by individual mozilla.org contributors. Content available under a Creative Commons license .



Vivamus fermentum nibh