--- title: click slug: Web/API/Element/click_event translation_of: Web/API/Element/click_event ---
O evento click event é disparado quando o botão de um dispositivo apontador (normalmente o botão de um mouse) é pressionado e solto logo em seguida em um mesmo elemento.
| Property | Type | Description |
|---|---|---|
target {{readonlyInline}} |
EventTarget |
O alvo do evento (o mais alto na arvore de DOM). |
type {{readonlyInline}} |
DOMString |
Tipo do evento. |
bubbles {{readonlyInline}} |
Boolean |
Se o evento "bubbles" naturalmente ou não. |
cancelable {{readonlyInline}} |
Boolean |
Se o evento é cancelável ou não |
view {{readonlyInline}} |
WindowProxy |
document.defaultView (window do documento) |
detail {{readonlyInline}} |
long (float) |
Um contador de cliques consecutivos que ocorrem em um curto espaço de tempo, incrementado em 1. |
currentTarget {{readonlyInline}} |
EventTarget | O node que contem o eventListener. |
relatedTarget {{readonlyInline}} |
EventTarget | Para eventos mouseover, mouseout, mouseenter e mouseleave: o alvo do evento complementar (o mouseleave no caso de um evento mouseenter ). null , se falso. |
screenX {{readonlyInline}} |
long | A coordenada X do ponteiro do mouse na tela. |
screenY {{readonlyInline}} |
long | A coordenada Y do ponteiro do mouse na tela. |
clientX {{readonlyInline}} |
long | A coordenada X do ponteiro do mouse no DOM atual. |
clientY {{readonlyInline}} |
long | A coordenada Y do ponteiro do mouse no DOM atual. |
button {{readonlyInline}} |
unsigned short | The button number that was pressed when the mouse event was fired: Left button=0, middle button=1 (if present), right button=2. For mice configured for left handed use in which the button actions are reversed the values are instead read from right to left. |
buttons {{readonlyInline}} |
unsigned short | The buttons being pressed when the mouse event was fired: Left button=1, Right button=2, Middle (wheel) button=4, 4th button (typically, "Browser Back" button)=8, 5th button (typically, "Browser Forward" button)=16. If two or more buttons are pressed, returns the logical sum of the values. E.g., if Left button and Right button are pressed, returns 3 (=1 | 2). More info. |
mozPressure {{readonlyInline}} |
float | The amount of pressure applied to a touch or tabdevice when generating the event; this value ranges between 0.0 (minimum pressure) and 1.0 (maximum pressure). |
ctrlKey {{readonlyInline}} |
boolean | true if the control key was down when the event was fired. false otherwise. |
shiftKey {{readonlyInline}} |
boolean | true if the shift key was down when the event was fired. false otherwise. |
altKey {{readonlyInline}} |
boolean | true if the alt key was down when the event was fired. false otherwise. |
metaKey {{readonlyInline}} |
boolean | true if the meta key was down when the event was fired. false otherwise. |
<div id="test"></div>
<script>
document.getElementById("test").addEventListener("click", function( event ) {
// mostra o contador de cliques dentro da div clicada
event.target.innerHTML = "Total de cliques: " + event.detail;
}, false);
</script>
O Internet Explorer 8 e 9 apresentam um bug onde o elemento com a propriedade {{cssxref("background-color")}} é definida como transparent that are overlaid on top of other element(s) won't receive click events. Todos os eventos click serão disparados no elemento underlying instead. Veja uma demonstração neste exemplo.
Soluções de contorno para este bug:
{{cssxref("background-color")}} como: rgba(0,0,0,0){{cssxref("opacity")}} como: 0 e defina explicitamente {{cssxref("background-color")}} com outro valor diferente de transparentfilter como: alpha(opacity=0); e o {{cssxref("background-color")}} com outro valor diferente de transparentSafari Mobile 7.0+ (and likely earlier versions too) suffers from a bug where click events aren't fired on elements that aren't typically interactive (e.g. {{HTMLElement("div")}}) and which also don't have event listeners directly attached to the elements themselves (i.e. event delegation is being used). See this live example for a demonstration. See also Safari's docs on making elements clickable and the definition of "clickable element".
Known workarounds for this bug:
: pointer; on the element or any of its ancestors.onclick="void(0)" attribute to the element or any of its ancestors up to but not including {{HTMLElement("body")}}.click event delegation.Safari Mobile considers the following elements to be typically interactive (and thus they aren't affected by this bug):
href)href){{CompatibilityTable}}
| Feature | Chrome | Firefox (Gecko) | Internet Explorer | Edge | Opera | Safari |
|---|---|---|---|---|---|---|
| Basic support | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} |
| On disabled form elements | {{CompatVersionUnknown}}[1] | {{CompatNo}} | {{CompatVersionUnknown}}[2] | {{CompatNo}} | {{CompatVersionUnknown}}[1] | {{CompatUnknown}} |
| Feature | Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
|---|---|---|---|---|---|
| Basic support | {{CompatUnknown}} | {{CompatUnknown}} | {{CompatUnknown}} | {{CompatUnknown}} | {{CompatUnknown}} |
| On disabled form elements | {{CompatUnknown}} | {{CompatUnknown}} | {{CompatUnknown}} | {{CompatUnknown}} | {{CompatUnknown}} |
[1] Only works for {{HTMLElement("textarea")}} elements and some {{HTMLElement("input")}} element types.
[2] Internet Explorer only triggers the click event on {{HTMLElement("input")}} elements of type checkbox or radio when the element is double-clicked.