




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
本节介绍事件的概念、类型、事件处理程序的绑定方式。
JavaScript事件处理
事件概述目录
JavaScript事件处理10.1事件概述10.2window事件10.3mouse事件10.4keyboard事件10.5form事件10.6事件捕捉与事件冒泡习题1010.1事件概述10.1.1事件的概念1.事件(Event)JavaScript事件是指在浏览器窗体或者HTML元素上发生的浏览器或者用户行为。页面上的每个元素都可以产生某些事件。行为是某个事件和由该事件触发的动作的组合。动作是预先编写的JavaScript函数,事件一般与元素绑定在JavaScript中,事件是预先定义好的、能够被对象识别的动作。事件定义了用户与网页交互时产生的各种操作。10.1事件概述2.事件类型事件类型用来说明发生什么类型事件的字符串,即事件名。HTML事件可以是浏览器行为,也可以是用户行为。常用的事件类型包括窗口事件(load、unload等)、鼠标事件(click、dblclick、mousedown等)、键盘事件(keydown、keyup、keypress等)、文本事件(textInput等)等。10.1事件概述3.事件目标(操作对象)事件目标就是发生事件的对象,也称事件目标对象。例如单击“确定”按钮,则该“确定”按钮就是事件目标。当谈论事件时,会同时指明类型和目标。10.1事件概述4.事件处理函数事件处理函数(又称事件句柄、事件监听函数、事件监听器)是指用于响应某个特定事件被触发时而调用执行的函数。每一个事件均对应一个事件处理函数,在程序执行时,将相应的函数或语句指定给该事件处理函数,则在该事件发生时,浏览器便执行指定的函数或语句。一个对象可以响应一个或多个事件,因此可以使用一个和多个事件过程对用户或系统的事件做出响应。10.1事件概述5.事件对象当触发某个事件时,会产生一个事件对象,这个对象包含着所有与事件有关的信息。事件对象,一般称为event对象。event对象中包含着所有事件相关的属性和方法,这些属性和方法均为只读的,见表1、表2。10.1事件概述10.1事件概述10.1事件概述事件对象提供了两组属性来区别浏览器坐标的属性,一组是页面可视区坐标,另一组是屏幕坐标,见表3。10.1事件概述其示意图如图10-1所示。10.1事件概述6.事件周期(事件流)事件周期(也称事件流)是描述从页面中接收事件的顺序。事件周期分为3个阶段,如图所示。1)事件捕获(eventcapturing)阶段。2)目标触发(targettrigger)阶段。3)事件冒泡(eventbubbling)阶段。10.1事件概述9.1.2事件的类型常见的事件类型分为HTML事件和DOM事件。1.HTML事件HTML具有使事件在浏览器中触发动作的能力,发生在浏览器窗口上的事件,称为HTML事件。(1)window(窗口)事件(2)mouse(鼠标)事件(3)keyboard(键盘)事件(4)form(表单)事件(5)media(媒体)事件10.1事件概述2.DOM事件DOM事件分为DOM0级事件和DOM2级事件(没有DOM1)。(1)DOM0级事件DOM0级事件处理把JavaScript代码或一个函数赋值给一个事件处理属性,例如:<inputid="myButton"type="button"value="PressMe"onclick="alert('Hello');">varbtn1=document.getElementById("myButton").onclick=function(){alert('Hello');}后面如果再次设置函数,会覆盖之前的函数。(2)DOM2级事件DOM2级事件处理使用addEventListener()方法绑定事件程序。同DOM0级事件处理相比,它不会覆盖之前的事件。10.1事件概述9.1.3事件处理程序的绑定方式JvaScript事件处理程序有3种绑定方式。1.HTML事件处理程序方式语法格式如下:<标签名事件名="JavaScript脚本"…>…</标签名>或<标签名事件名="事件处理函数名()"…>…</标签名>【例10-1】下面代码即为HTML事件处理程序,单击按钮后,会弹出消息框。本例文件10-1.html。10.1事件概述<!DOCTYPEhtml><html><head><metacharset="utf-8"><title>HTML事件处理程序</title><scripttype="text/javascript">functionmyFunction(){alert("HTML事件处理程序2");};</script></head><body><buttononclick="alert('HTML事件处理程序1')">点我</button><inputtype="button"onclick="myFunction()"value="单击按钮"></body></html>10.1事件概述2.通用属性绑定方式语法格式如下:<标签名id="ID名"…>…</标签名>var元素的对象名=document.getElementById("ID名");//获取被绑定事件的元素上面格式中:第一行<标签名id=“ID名”…>…</标签名>放在<body>中。第二行var放在<scripttype="text/javascript">…</script>中,用“ID名”在绑定监听事件之前先获取被绑定事件的元素。10.1事件概述(1)赋值方式格式如下:元素的对象名.事件名
=function(){};//绑定匿名函数【例10-2】把函数赋值给按钮的单击事件btnObj.onclick=function(){}。本例文件10-2.html。10.1事件概述<!DOCTYPEhtml><html><head><metacharset="utf-8"><title>通用属性绑定</title></head><body><inputtype="button"name="btn"id="btn"value="单击按钮"/><scripttype="text/javascript">varbtnObj=document.getElementById("btn");//给谁绑定事件,就要先获取谁
btnObj.onclick=function(){alert("通用属性绑定1");};</script></body></html>10.1事件概述(2)调用方式格式如下:元素的对象名.事件名
=事件处理函数名;【例10-3】采用btn.onclick=myfun调用方式。本例文件名为10-3.html。10.1事件概述<!DOCTYPEhtml><html><head><metacharset="utf-8"><title>通用属性绑定</title></head><body><inputtype="button"name="btn"id="btn"value="单击按钮"/><scripttype="text/javascript">varbtnObj=document.getElementById(“btn");//给谁绑定事件,就要先获取谁
btnObj.onclick=myfun;//myfun后面不要加()括号,否则会变为立即执行函数
functionmyfun(){alert("通用属性绑定2");};</script></body></html>10.1事件概述(3)删除事件如果要删除属性绑定的事件,为该对象的事件赋值空值。例如:btnObj.onclick=null;10.1事件概述3.DOM监听事件绑定方式与通用属性绑定方式相同,在绑定监听事件之前先获取被绑定事件的元素,语法格式如下:<标签名id="ID名"…>…</标签名>var元素的对象名=document.getElementById("ID名");//获取被绑定事件的元素10.1事件概述(1)内嵌方式内嵌方式的语法格式如下:元素的对象名.addEventListener("事件名",function(){JavaScript脚本;},false);【例10-4】使用内嵌方式绑定监听事件。本例文件名为10-4.html。10.1事件概述<!DOCTYPEhtml><html><head><metacharset="utf-8"><title>监听事件</title></head><body><buttonid="btn">单击按钮</button><scripttype="text/javascript">varbtnObj=document.getElementById("btn");//给谁绑定事件,就要先获取谁
btnObj.addEventListener("click",function(){alert("监听事件1");},false);
btnObj.addEventListener("click",function(){alert("监听事件2");},false);</script></body></html>10.1事件概述(2)调用方式调用方式的语法格式如下:元素的对象名.addEventListener("事件名",函数名,false);
10.1事件概述【例10-5】使用调用方式绑定监听事件。本例文件名为10-5.html。<!DOCTYPEhtml><html><head><metacharset="utf-8"><title>监听事件</title></head><body><buttonid="btn">单击按钮</button><scripttype="text/javascript">window.addEventListener("load",myfun,false);//绑定window对象的load事件
varbtnObj=document.getElementById("btn");//给谁绑定事件,就要先获取谁
btnObj.addEventListener("click",myfun1,false);//绑定多个事件处理程序,第1个
btnObj.addEventListener("click
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 农业产业园区投资合作协议
- 建筑工程玻璃贴膜合同
- 股权激励保密协议书
- 公关摄影师聘用合同
- 合伙美容院合同
- 财产分割离婚协议
- 工业互联网平台建设与优化方案
- 装修施工安全合同协议书
- 医院大楼装修工程承包协议书
- 以车抵押借款合同
- 《事故汽车常用零部件修复与更换判别规范》
- 2024-2030年中国酒类流通行业发展动态及投资盈利预测研究报告
- 物业管理如何实现降本增效
- DL-T825-2021电能计量装置安装接线规则
- 信息科技重大版 七年级下册 互联网应用与创新 第一单元单元教学设计 互联网创新应用
- 2024年兴业银行股份有限公司校园招聘考试试题及参考答案
- 2024智慧城市城市交通基础设施智能监测技术要求
- 2024年湖南环境生物职业技术学院单招职业适应性测试题库及参考答案
- 专题06 压强计算(压强与浮力结合题)-上海市2024年中考复习资料汇编(培优专用)【解析版】
- 湖北省崇阳县浪口温泉地热田地热资源开发利用与生态复绿方案
- 《工程建设标准强制性条文电力工程部分2023年版》
评论
0/150
提交评论