--- title: click slug: Web/API/Element/click_event translation_of: Web/API/Element/click_event ---

当定点设备的按钮(通常是鼠标左键)在一个元素上被按下和放开时,click事件就会被触发。

一般信息

规范
DOM L3
接口
{{domxref("MouseEvent")}}
是否冒泡
Yes
是否可取消
Yes
对象
Element
默认动作
无定型

属性

属性 类型 描述
target {{readonlyInline}} EventTarget 事件对象 (位于DOM树最上面的元素).
type {{readonlyInline}} DOMString 事件类型.
bubbles {{readonlyInline}} Boolean 是否冒泡
cancelable {{readonlyInline}} Boolean 是否可被取消
view {{readonlyInline}} WindowProxy document.defaultView (该文档的window 对象)
detail {{readonlyInline}} long (float) 在短时间内发生的连续点击次数的计数。
currentTarget {{readonlyInline}} EventTarget 被事件监听触发的节点.
relatedTarget {{readonlyInline}} EventTarget 对于 mouseover, mouseout, mouseentermouseleave 事件: 值为与其互补的事件(比如mouseenter 就为mouseleave). 否则为null.
screenX {{readonlyInline}} long 点击事件发生时鼠标对应的屏幕x轴坐标.
screenY {{readonlyInline}} long 点击事件发生时鼠标对应的屏幕y轴坐标.
clientX {{readonlyInline}} long 点击事件发生时鼠标对应的浏览器窗口的x轴坐标.
clientY {{readonlyInline}} long 点击事件发生时鼠标对应的浏览器窗口的y轴坐标.
button {{readonlyInline}} unsigned short 点击时按下的鼠标按钮: 左键=0, 中间按钮=1 (如果实现的话), 右键=2. 对于配置为左手使用按钮的操作被反转的鼠标,这些值从右向左读取。
buttons {{readonlyInline}} unsigned short 当鼠标事件被触发时按钮的buttons: 左键=1, 右键=2, 中间按钮=4, 第四个按钮(通常是"返回")=8,第五个按钮(通常是"前进")=16.若有两个或以上的按钮按下,返回以逻辑或运算形成的合并值.例如左键右键同时按下就返回 3 (=1 | 2). 更多信息.
mozPressure {{readonlyInline}} float 压力应用于接触或tabdevice时生成的事件的数量;该值介于0(最小压力)和1(最大压力)。
ctrlKey {{readonlyInline}} boolean 当事件被触发时ctrl按键被按下时为true,否则为false。
shiftKey {{readonlyInline}} boolean 当事件被触发时shift按键被按下时为true,否则为false。
altKey {{readonlyInline}} boolean 当事件被触发时alt按键被按下时为true,否则为false。
metaKey {{readonlyInline}} boolean 当事件被触发时meta按键被按下时为true,否则为false。

样例

<div id="test"></div>

<script>
  document.getElementById("test").addEventListener("click", function( event ) {
    // 在被点击的div内显示当前被点击次数
    event.target.textContent = "click count: " + event.detail;
  }, false);
</script>

浏览器兼容性

Internet Explorer

Internet Explorer 8 & 9存在一个漏洞,具有经{{cssxref("background-color")}}样式计算为transparent的元素覆盖在其它元素顶端时,不会收到click事件。取而代之,所有click事件将被触发于其底下的元素。参见this live example样例。

已知会触发此漏洞的情景:

Safari手机版

safari手机版会有一个bug,当点击事件不是绑定在交互式的元素上(比如说HTML的div),并且也没有直接的事件监听器绑定在他们自身。可以戳 链接 查看演示。也可以看 Safari 的可点击元素 和 点击元素的定义.

解决方法如下:

Safari 手机版里,以下元素不会受到上述bug的影响:

{{Compat("api.Element.click_event")}}

相关链接