资讯专栏INFORMATION COLUMN

JavaScript系列之事件类型

chanthuang / 1569人阅读

摘要:有两种事件处理程序的方式。第一种第二种事件当调整浏览器的窗口到一个新的宽度或高度时,就会触发事件。事件在元素获得焦点时触发。这个事件冒泡某些浏览器不支持。事件在鼠标光标从元素外部首次移动到元素范围内时触发。事件这个事件跟踪鼠标滚轮。

JavaScript简单入门可以看看我丑丑的Github博客JavaScript简单入门

本文主要简单介绍以下几类事件:

UI事件

焦点事件

鼠标与滚轮事件

键盘与文本事件

UI事件

UI事件是指那些不一定与用户操作有关的事件。

load事件

此事件为当页面完全加载完之后(包括所有的图像、js文件、css文件等外部资源),就会触发window上面的load事件。
有两种onload事件处理程序的方式。

//第一种
EventUtil.addHandler(window, "load", function(){
      alert("load");
});
//第二种

图像也可以触发load事件,无论是在DOM中的图像元素还是HTML中的图像元素。

//第一种
 
//第二种
var img=document.getElementById("img");
EventUtil.addHandler(img,"load",function(){
      event=EventUtil.getEvent(event);
      alert(EventUtil.getTarget(event).src);
});
unload事件

此事件在文档被完全卸载后触发。用户从一个页面切换到另一个页面就会被触发。
有两种定义onunload事件处理程序的方式。

//第一种
EventUtil.addHandler(window, "unload", function(){
      alert("load");
});
//第二种
resize事件

当调整浏览器的窗口到一个新的宽度或高度时,就会触发resize事件。这个事件在window(窗口)上面触发。

EventUtil.addHandler(window, "resize", function(){
      alert("resized");
});
scroll事件

这个事件会在文档被滚动期间重复被触发,所以应当尽量保持事件处理程序的代码简单。

//可以通过scrollLeft和scrollTop监控变化
EventUtil.addHandler(window, "scroll", function(){
      alert(document.body.scrollTop);
});
焦点事件

焦点事件会在页面元素获得或失去焦点时触发。

blur事件

在元素失去焦点时触发。这个事件不冒泡,所有浏览器都支持。

focus事件

在元素获得焦点时触发。这个事件不冒泡,所有浏览器都支持。

focusin事件

在元素获得焦点时触发。这个事件冒泡,某些浏览器不支持。

focusout事件

在元素失去焦点时触发。这个事件冒泡,某些浏览器不支持。
注意:即使blur和focus不冒泡,也可以在捕获阶段侦听到他们。

鼠标与滚轮事件 click事件

用户单击鼠标左键或按下回车键触发

dbclick事件

用户双击鼠标左键触发。

mousedown事件

在用户按下了任意鼠标按钮时触发。

mouseup事件

在用户释放鼠标按钮时触发。

mouseenter事件

在鼠标光标从元素外部首次移动到元素范围内时触发。此事件不冒泡。

mouseleave事件

元素上方的光标移动到元素范围之外时触发。此事件不冒泡。

mousemove事件

光标在元素的内部不断的移动时触发。

mouseover事件

鼠标指针位于一个元素外部,然后用户将首次移动到另一个元素边界之内时触发。

mouseout事件

用户将光标从一个元素上方移动到另一个元素时触发。

mousewheel事件

这个事件跟踪鼠标滚轮。

一次click事件触发顺序
mousedown --> mouseup --> click

键盘与文本事件 keydown事件

当用户按下键盘上的任意键时触发。按住不放,会重复触发。

keypress事件

当用户按下键盘上的字符键时触发。按住不放,会重复触发。

keyup事件

当用户释放键盘上的键时触发。

用户按了一下键盘上的字符键时事件触发顺序 keydown --> keypress--> keyup
如果用户按下字符键不放时,就会重复触发keydown --> keypress
如果用户按下非字符键时,就会触发keydown --> keyup

键码

在触发事件时,event对象的keyCode属性会包含一个代码,与键盘上的一个特定键对应。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/89354.html

相关文章

  • JavaScript专题系列文章

    摘要:专题系列共计篇,主要研究日常开发中一些功能点的实现,比如防抖节流去重类型判断拷贝最值扁平柯里递归乱序排序等,特点是研究专题之函数组合专题系列第十六篇,讲解函数组合,并且使用柯里化和函数组合实现模式需求我们需要写一个函数,输入,返回。 JavaScript 专题之从零实现 jQuery 的 extend JavaScritp 专题系列第七篇,讲解如何从零实现一个 jQuery 的 ext...

    Maxiye 评论0 收藏0
  • JS系列目录

    摘要:设计模式资源整理操作符小知识点实现发邮件功能数据结构与算法资源整理跨域函数的合成与柯里化系列之防抖节流系列之正则系列之系列之系列之编码系列之系列之操作符对象中的坐标检测对象或数组系列之机制系列之构造对象系列之总结系列之浅复制与深复制系列之对 Javascript设计模式资源整理JS操作符JS小知识点JS实现发邮件功能数据结构与算法资源整理跨域函数的合成与柯里化JS系列之防抖节流JS系列...

    AaronYuan 评论0 收藏0
  • JavaScript系列事件详解

    摘要:响应某个事件的函数就叫事件处理程序或事件侦听器。为事件指定事件处理程序的方法主要有种。事件处理程序事件直接加在元素上。事件委托利用冒泡的原理,把事件加到父元素或祖先元素上,触发执行效果,解决事件处理程序过多问题。事件委托优点提高性能。 JavaScript简单入门可以看看我丑丑的Github博客JavaScript简单入门 事件 JavaScript与HTML之间的交互是通过事件实现的...

    pakolagij 评论0 收藏0
  • 深入理解JavaScript系列6:S.O.L.I.D五大原则单一职责

    摘要:,开始我们的第一篇单一职责。通过解耦可以让每个职责工更加有弹性地变化。关于本文本文转自大叔的深入理解系列。深入理解系列文章,包括了原创,翻译,转载,整理等各类型文章,原文是大叔的一个非常不错的专题,现将其重新整理发布。 前言 Bob大叔提出并发扬了S.O.L.I.D五大原则,用来更好地进行面向对象编程,五大原则分别是: The Single Responsibility Princi...

    walterrwu 评论0 收藏0
  • javascript知识点

    摘要:模块化是随着前端技术的发展,前端代码爆炸式增长后,工程化所采取的必然措施。目前模块化的思想分为和。特别指出,事件不等同于异步,回调也不等同于异步。将会讨论安全的类型检测惰性载入函数冻结对象定时器等话题。 Vue.js 前后端同构方案之准备篇——代码优化 目前 Vue.js 的火爆不亚于当初的 React,本人对写代码有洁癖,代码也是艺术。此篇是准备篇,工欲善其事,必先利其器。我们先在代...

    Karrdy 评论0 收藏0

发表评论

0条评论

chanthuang

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<