javaScript 事件(下)

这一节,我们来讲事件的分类

鼠标事件

  • mousedown、click、mouseup  表示鼠标点击事件,触发的顺序就是前面写的顺序
  • mousemove 鼠标移动事件
  • contextmenu  鼠标右键事件
  • mouseover、mouseout 鼠标移入移出事件,html5中也可用mouseenter、mouseleave来表示
  • 在移动端请将mousedown mousemove mouseup换成touchstart touchmove touchend

如何区分是鼠标的左键还是右键

  • 利用mousedown、click、mouseup点击事件里面的事件对象event里面的button属性,值为0/1/2分别对应左键/滑轮/右键,对于左键,三个点击事件都有这个属性,对于右键只有mousedown和mouseup有这个属性,所以click事件只能监听左键,只能通过mousedown 和 mouseup来判断鼠标键

键盘事件

  • keydown keypress keyup 表示键盘的按键事件。
  • 需要注意的是keydown 可以响应任意键盘按键,keypress只可以相应字符类键盘按键。
  • 如何识别是哪一个键:keydown和key

文本操作事件

  • input 只要输入的值发生改变就触发
  • focus 焦点聚焦的时候触发
  • blur 失去焦点的时候触发
  • change 当获得焦点和失去焦点的时候如果文本内容没有发生改变,那么就不会触发,只有前后的内容发生改变了才会触发

窗体操作类(window上的事件)

  • scroll :当滚动的时候触发
  • load: 当页面加载完成时候触发,一般有时候当我们把script写在前面的时候,为了避免出现dom还未加载完毕就操作dom的情况,有的人会使用window.onload来实现。但是不太建议这样做,首先浏览器加载页面是这个样子的,同时加载html和css分别生成dom树和css的样式树,然后再将两者合起来生成一课渲染树,之所以不建议使用window.onload,因为他是等到整个页面的资源全部加载完毕才会执行,包括一部请求,图片加载等等会很慢,所以一般都是直接将script标签放在最下面,一旦domtree构建成功就可以使用js操作dom,而不用等待

猜你喜欢

转载自blog.csdn.net/Her_smile/article/details/81056670