摘要:有两种事件处理程序的方式。第一种第二种事件当调整浏览器的窗口到一个新的宽度或高度时,就会触发事件。事件在元素获得焦点时触发。这个事件冒泡某些浏览器不支持。事件在鼠标光标从元素外部首次移动到元素范围内时触发。事件这个事件跟踪鼠标滚轮。
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不冒泡,也可以在捕获阶段侦听到他们。
用户单击鼠标左键或按下回车键触发
dbclick事件用户双击鼠标左键触发。
mousedown事件在用户按下了任意鼠标按钮时触发。
mouseup事件在用户释放鼠标按钮时触发。
mouseenter事件在鼠标光标从元素外部首次移动到元素范围内时触发。此事件不冒泡。
mouseleave事件元素上方的光标移动到元素范围之外时触发。此事件不冒泡。
mousemove事件光标在元素的内部不断的移动时触发。
mouseover事件鼠标指针位于一个元素外部,然后用户将首次移动到另一个元素边界之内时触发。
mouseout事件用户将光标从一个元素上方移动到另一个元素时触发。
mousewheel事件这个事件跟踪鼠标滚轮。
键盘与文本事件 keydown事件一次click事件触发顺序
mousedown --> mouseup --> click
当用户按下键盘上的任意键时触发。按住不放,会重复触发。
keypress事件当用户按下键盘上的字符键时触发。按住不放,会重复触发。
keyup事件当用户释放键盘上的键时触发。
键码用户按了一下键盘上的字符键时事件触发顺序 keydown --> keypress--> keyup
如果用户按下字符键不放时,就会重复触发keydown --> keypress
如果用户按下非字符键时,就会触发keydown --> keyup
在触发事件时,event对象的keyCode属性会包含一个代码,与键盘上的一个特定键对应。
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/89354.html
摘要:专题系列共计篇,主要研究日常开发中一些功能点的实现,比如防抖节流去重类型判断拷贝最值扁平柯里递归乱序排序等,特点是研究专题之函数组合专题系列第十六篇,讲解函数组合,并且使用柯里化和函数组合实现模式需求我们需要写一个函数,输入,返回。 JavaScript 专题之从零实现 jQuery 的 extend JavaScritp 专题系列第七篇,讲解如何从零实现一个 jQuery 的 ext...
摘要:响应某个事件的函数就叫事件处理程序或事件侦听器。为事件指定事件处理程序的方法主要有种。事件处理程序事件直接加在元素上。事件委托利用冒泡的原理,把事件加到父元素或祖先元素上,触发执行效果,解决事件处理程序过多问题。事件委托优点提高性能。 JavaScript简单入门可以看看我丑丑的Github博客JavaScript简单入门 事件 JavaScript与HTML之间的交互是通过事件实现的...
摘要:,开始我们的第一篇单一职责。通过解耦可以让每个职责工更加有弹性地变化。关于本文本文转自大叔的深入理解系列。深入理解系列文章,包括了原创,翻译,转载,整理等各类型文章,原文是大叔的一个非常不错的专题,现将其重新整理发布。 前言 Bob大叔提出并发扬了S.O.L.I.D五大原则,用来更好地进行面向对象编程,五大原则分别是: The Single Responsibility Princi...
摘要:模块化是随着前端技术的发展,前端代码爆炸式增长后,工程化所采取的必然措施。目前模块化的思想分为和。特别指出,事件不等同于异步,回调也不等同于异步。将会讨论安全的类型检测惰性载入函数冻结对象定时器等话题。 Vue.js 前后端同构方案之准备篇——代码优化 目前 Vue.js 的火爆不亚于当初的 React,本人对写代码有洁癖,代码也是艺术。此篇是准备篇,工欲善其事,必先利其器。我们先在代...
阅读 3513·2021-10-09 09:43
阅读 6098·2021-09-07 10:15
阅读 2719·2019-08-30 14:03
阅读 3033·2019-08-29 11:01
阅读 1676·2019-08-29 10:56
阅读 1033·2019-08-28 17:52
阅读 3465·2019-08-26 11:42
阅读 2517·2019-08-26 10:33