事件三要素

js事件是指我们使用鼠标或者键盘做了某些事件来触发对应的处理函数

事件函数的特点 全小写且以on开头 onclick on事件开头 click是事件名 点击

鼠标事件

1.事件源

2.事件类型

3.事件处理


<button>点击</button>//要用它进行点击,他就是事件源

 <script> 
    var button = document.getElementsByTagName("button")//获取事件源
   
    button.onclick =function(){
       console.log('hello');
}


</script>

onclick 事件类型


function(){}   事件处理,通过一个函数赋值的方式完成

鼠标事件 鼠标的一切操作都是鼠标事件 点击 移动 滚轮

单 点击 onclick

双击 ondblclick

移动相关 事件名以mouse开头

鼠标按下 onmousedown

鼠标弹起 onmouseup 鼠标移出 onmouseout

鼠标移进 onmouseover

鼠标移动 onmousemove

鼠标悬停 onmouseenter

鼠标取消悬停 onmouseleave

失去焦点 onblur

获取焦点 onfocus (常用于input)

mouseover和 mouseenter的区别是: mouseover: 元素的子元素移入也会触发事件 (子元素会触发第二次)

mouseenter : 元素的子元素移入不会触发事件 (子元素不会触发)

键盘事件

一般操作是给整体加

window.onkeydown键盘按下

window.onkeyup键盘弹起

window.onkeypress按下之后弹起之前

HTML的事件

onsubmit事件 提交按钮触发的事件 一般触发的元素是表单form

键盘的事件源对象

 window.onkeydown = function(e){
     e = e || windwo.event
     console.log(e.key); //获取按键的值 17
     console.log(e.code); //获取按键 18
     console.log(e.keyCode); //获取按键的ascii码 不区分大小写(只返回大
     console.log(e.ctrlKey); //判断是否按着ctrl键 按着为true 没有为fals
     console.log(e.shiftKey); //判断是否按着shift键
     console.log(e.altKey); //判断是否按着alt键
     console.log(e.charCode); //字符编码 只有在按字符的时候才有 一般是
     console.log(e.target); //目标元素 显示是body
     console.log(e.type); //事件类型 keyDown
 }
 //在弹起之前按下之后 针对字符按键  charCode只在这里有效(其他按键不会
 window.onkeypress = function(e){
     console.log('调用了');
     console.log(e.charCode); //他会返回对应的字符的编码 ascii码   区分
 }

鼠标的事件源对象

var div = document.getElementsByTagName('div')[0]
 //鼠标的事件源对象
 div.onmousedown = function(e){
     e = e || window.event //e表示事件源对象
     //鼠标点击的键 button 0表示左键 1表示滚轮 2表示右键
     console.log(e.button);//1
     console.log(e.target); //目标元素 显示是div 2
     console.log(e.type); //事件类型 click 3
     console.log(e.x); //获取鼠标的x坐标 基于可视区域 4
     console.log(e.y); //获取鼠标的y坐标 基于可视区域 5
     console.log(e.pageX); //获取鼠标的x坐标 基于页面的可视区域 6
     console.log(e.pageY); //获取鼠标的y坐标 基于页面的可视区域 7
     console.log(e.offsetX); //获取鼠标的x坐标 基于div偏移的x 离div这个
     console.log(e.offsetY); //获取鼠标的y坐标  基于div偏移的y  离div这
     console.log(e.screenX); //screen获取屏幕信息 在屏幕上的x 10
     console.log(e.screenY); //screen获取屏幕信息 在屏幕上的y 11
     console.log(e.clientX) //获取鼠标的x坐标 基于当前可视区域的x  12
     console.log(e.clientY) //获取鼠标的x坐标 基于当前可视区域的y  13
     console.log(e.path) //元素路径 
     console.log(e.ctrlKey); //判断是否按着ctrl键 按着为true 没有为fals
     console.log(e.shiftKey); //判断是否按着shift键 15
     console.log(e.altKey); //判断是否按着alt键 16
 }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值