美文网首页
js的事件种类整理

js的事件种类整理

作者: 阿鲁提尔 | 来源:发表于2019-05-22 02:47 被阅读0次
鼠标事件 (继承MouseEvent接口)
鼠标事件 描述
click 按下鼠标时触发
dblclick 双击鼠标时触发
mousedown 按下鼠标键时触发
mouseup 释放按下鼠标键触发
mousemove 鼠标在节点内部移动触发,持续移动,事件会持续触发(会有性能问题)
mouseenter 鼠标进入节点触发,进入子节点不会触发。(在节点内只会触发一次)
mouseover 鼠标进入节点触发,进入子节点会再一次触发
mouseout 鼠标离开节点触发,离开父节点也会触发
mouseleave 鼠标离开节点触发,离开父节点不会触发
contextmenu 鼠标右键(右键菜单)前触发,或按下右键菜单时触发
wheel 滚动鼠标的滚轮时触发,继承WheelEvent接口

触发顺序: mouseDown > mouseup > click > dblclick

mouseover 和 mouseenter 的共同点:鼠标进入一个节点触发

区别:

  • mouseover 会在子节点触发多次
  • mouseenter 只触发一次

mouseout 和 mouseleave 共同点: 鼠标离开一个节点时触发
区别:

  • 在父元素内部离开一个子元素时,mouseout事件会触发。
  • 在父元素内部离开一个子元素时,mouseout事件不会触发。

键盘事件 (继承KeyboardEvent接口)

键盘事件 描述
keydown 按下键盘时触发
keypress 按下有值的键触发,(无值键Ctrl、Alt、Shift、Meta ) ,会先出发keydown
keyup 松开键盘时触发

用户一直按键不松开:

1.keydown
2.keypress
3.keydown
4.keypress
5. ...(重复上面过程)
6.keyup

进度事件 (继承ProgressEvent接口)

描述资源加载的进度。主要由AJAX、<img>、<audio>、<video>、<style>、<link> 等外部资源的加载触发。

进度事件 描述
abort 外部资源中止加载时(比如用户取消)触发,发生错误导致中止不会触发。
error 由于错误导致外部资源无法加载时触发(error特性,不会冒泡,不会触发父元素的error时间监听函数)
load 外部资源加载成功时触发
loadstart 外部资源开始加载时触发
loadend 外部资源停止加载时触发,发生顺序在error、abort、load等事件的后面。
progress 外部资源加载过程中不断触发
timeout 加载超时时触发

注意:
按照习惯js脚本一般都放置在页面底部,有时候图片加载会在脚本运行之前就完成,因此有可能load和error事件的监听函数不会执行。
解决办法:使用complete属性先判断一下是否加载完成。

function loaded(){
  // ...
}
if(image.complete){
  loaded();
}else{
  image.addEventListener('load',loaded)
}

DOM元素节点没有提供是否加载错误的属性,所以error事件的监听函数最好放到<img>元素的HTML代码中,这样可以保证发生加载错误时百分之百会执行。

<img src="/wrong/url" onerror="this.style.display='none';"/>

loadend事件的监听函数,可以用来取代abort事件、load事件、error事件的监听函数,因为总是在这些事件之后发生。

拖拉事件 (继承DragEvent接口)

DragEvent接口又继承了MouseEvent接口和Event接口。

拖拉的对象有好几种,包括元素节点、图片、链接、选中的文字等等。
元素节点是默认不可以拖拽的,可以设置属性draggable="true"改为可拖拽
元素被拖拽时,会持续触发拖拉事件

拖拉事件 描述
drag 在拖拽节点上持续触发(间隔几百毫秒)
dragstart 开始拖拉时,在被拖拉的节点上触发
dragend 拖拉结束时,在被拖拉的节点上触发
dragenter 拖拉进入当前节点时,在当前节点上触发一次
dragover 拖拉进入当前节点时,在当前节点上持续触发(间隔几百毫秒)
dragleave 拖拉离开当前节点范围内,在当前节点上触发
drop 释放目标节点时,在目标节点上触发。

相关文章

  • js的事件种类整理

    鼠标事件 (继承MouseEvent接口) 触发顺序: mouseDown > mouseup > click >...

  • js 事件整理

  • JS中的事件归纳整理

    JS中的原生事件看了一下,一共有以下100来个:onanimationend,onanimationiterati...

  • js中window事件整理

    感觉有很多的事件需要大家记住,今天我就帮大家先列举一些: onmouseover 鼠标移入 onmouseou...

  • JS事件兼容 - 列表整理

    事件兼容 备注: IE9及以上浏览器2种事件都支持,IE8及以下只支持IE浏览器列表的事件方法,所以要做浏览器兼容...

  • CSS布局与JS结合 实现某宝店铺首页

    前几天根据学习的知识整理的JS运动框架,这里直接引用JS运动框架,页面主要是实现css网页布局与JS运动、事件,随...

  • js(事件)

    js 事件js事件.png

  • js操作页面三步骤

    js操作页面三步骤 js事件 鼠标事件 文档事件 键盘事件 表单事件 事件对象 js操作内容 js操作样式 页面转...

  • 事件

    1、鼠标的移入移除js部分 2、鼠标事件js部分 3、事件对象js部分 4、键盘事件js部分 5、输入框事件js部...

  • 20、jQuery 事件机制

    20、jQuery 事件机制 原生js事件与jQuery事件: (1)用原生的js给div注册事件 原生js注册相...

网友评论

      本文标题:js的事件种类整理

      本文链接:https://www.haomeiwen.com/subject/bihdoqtx.html