event(事件对象)详解

Event 对象代表事件的状态,比如事件在其中发生的元素、键盘按键的状态、鼠标的位置、鼠标按钮的状态。当我单机某个元素的时候,这个元素注册的事件就会触发,事件的本质就是一个函数,这个函数接收一个event对象,这个函数不会在事件触发之前执行

简单的例子

let el = document.getElementById('name')
el.onclick = function(event){}

Event属性和方法:

altKey:判断是否按下了 "ALT" 键
ctrlKey:判断是否按下了 "CTRL" 键
metaKey:判断是否按下了 "META" 键
shiftKey:判断是否按下了 "SHIFT" 键
charCode:返回onkeypress 事件的键的 Unicode 字符代码
code:返回键的代码
key:返回键的键值
keyCode:返回触发 onkeypress 事件的键的 Unicode 字符码,或触发 onkeydown 或 onkeyup 事件的键的 Unicode 键码
getModifierState():如果指定的键被激活,则返回 true
location:返回键盘或设备上按键的位置
repeat:判断是否重复按住某个键
which:返回触发 onkeypress 事件的键的 Unicode 字符码,或触发 onkeydown 或 onkeyup 事件的键的 Unicode 键码
button:返回当事件被触发时,哪个鼠标按钮被点击。(0 指定鼠标左键,1 指定鼠标中键,2 指定鼠标右键)
buttons:返回触发鼠标事件时按下的鼠标按钮
clientX:返回触发鼠标事件时,鼠标指针相对于当前窗口的水平坐标(不包含滚动条)
clientY:返回触发鼠标事件时,鼠标指针相对于当前窗口的垂直坐标(不包含滚动条)
movementX:返回相对于上一 mousemove 事件的位置的鼠标指针的水平坐标
movementY:返回相对于上一 mousemove 事件的位置的鼠标指针的垂直坐标
offsetX:返回鼠标指针相对于目标元素边缘位置的水平坐标
offsetY:返回鼠标指针相对于目标元素边缘位置的垂直坐标
pageX:返回触发鼠标事件时鼠标指针相对于文档的水平坐标
pageY:返回触发鼠标事件时鼠标指针相对于文档的垂直坐标
screenX:返回触发事件时鼠标指针相对于屏幕的水平坐标
screenY:返回触发事件时鼠标指针相对于屏幕的垂直坐标

组合键

举个例子,监听ctrl+c

document.onkeydown = function (e) {
    var keyCode = e.keyCode || e.which || e.charCode    // 兼容写法
    var ctrlKey = e.ctrlKey   // 监听ctrl是否被按下
    if (ctrlKey && keyCode == 67) {
        alert("组合键成功,键盘键入ctrl+c执行该方法")
    }
}

键码值(keyCode)

按键键码按键键码按键键码按键键码
A65J74S83149
B66K75T84250
C67L76U85351
D68M77V86452
E69N78W87553
F70O79X88654
G71P80Y89755
H72Q81Z90856
I73R82048957
0968104F1112F7118
1979105F2113F8119
298*106F3114F9120
399+107F4115F10121
4100Enter108F5116F11122
5101-109F6117F12123
6102.110
7103/111
BackSpace8Esc27Right Arrow39-_189
Tab9Spacebar32Dw Arrow40.>190
Clear12Page Up33Insert45/?191
Enter13Page Down34Delete46`~192
Shift16End35Num Lock144[{219
Control17Home36;:186|220
Alt18Left Arrow37=+187]}221
Cape Lock20Up Arrow38,<188'"222
音量加175
音量减174
停止179
静音173
浏览器172
邮件180
搜索170
收藏171

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,点击事件是指用户在网页上点击某个元素时所触发的事件。在JavaScript中,我们可以通过给元素添加点击事件监听器来实现对点击事件的响应。下面是一些关于点击事件详解: 1. 给元素添加点击事件监听器的方法 在JavaScript中,我们可以通过以下两种方法为元素添加点击事件监听器: - 使用HTML的onclick属性 我们可以在HTML标签中使用onclick属性来添加点击事件监听器,例如: ``` <button onclick="myFunction()">Click me</button> ``` 这里的myFunction()就是我们要执行的函数,点击按钮时就会触发该函数。 - 使用JavaScript的addEventListener()方法 我们也可以使用JavaScript的addEventListener()方法来为元素添加点击事件监听器,例如: ``` document.getElementById("myButton").addEventListener("click", myFunction); ``` 这里的myButton是我们要添加监听器的按钮元素的id,myFunction是我们要执行的函数。 2. 点击事件的触发条件 点击事件只有在满足以下两个条件时才会被触发: - 用户单击了鼠标左 只有在用户单击了鼠标左时,点击事件才会被触发。如果用户单击了鼠标右或中,则不会触发点击事件。 - 鼠标单击的元素上有点击事件监听器 只有在用户单击的元素上有点击事件监听器时,点击事件才会被触发。如果用户单击的元素上没有点击事件监听器,则不会触发点击事件。 3. 点击事件对象 在点击事件触发时,会自动创建一个点击事件对象。我们可以通过该对象来获取一些与点击事件相关的信息,例如: - event.target:获取被点击的元素 - event.clientX和event.clientY:获取鼠标单击位置的横坐标和纵坐标 - event.preventDefault():阻止元素的默认行为(例如,阻止链接跳转或表单提交) 4. 防止重复点击 有时候我们可能会遇到这样的情况:用户在短时间内多次点击同一个按钮,导致按钮的事件被触发多次,从而影响网页的正常运行。为了避免这种情况,我们可以采用以下两种方法: - 在函数中添加一个变量,记录上一次点击事件的时间戳,如果当前时间与上一次点击事件的时间间隔小于某个值,就不执行函数。 - 使用JavaScript的debounce函数,该函数可以延迟函数的执行时间,从而防止过于频繁的触发点击事件。 以上就是关于点击事件的一些详解,希望能对你有所帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值