javascript相关事件的几个概念


Posted in Javascript onMay 21, 2015

客户端javascript程序采用了异步事件驱动编程模型。

相关事件的几个概念:

事件类型(event type):用来说明发生什么类型事件的字符串;

事件目标(event target):发生事件的对象;

事件处理程序(event handler):处理或响应事件的函数;

事件对象(event object):与特定事件相关且包含有关该事件详细信息的对象;

事件传播(event propagation):浏览器决定哪个对象出发其事件处理程序的过程;

注册事件处理程序:

1、设置javascript对象属性;

2、设置html标签属性

3、addEventListener或attachEvent(后者为IE的)

function addEvent(target,type,handler){
   if(target.addEventListener){
     target.addEventListener(type,handler,false);
   }else{
     target.attachEvent("on"+type,function(event){return handler.call(target,event)});
   }
 }

 事件传播的三个阶段:

1、发生在目标处理函数之前,称为‘捕获'阶段;

2、对象本身的处理事件的调用;

3、事件的冒泡阶段;

在javascript中,可以为某个元素指定事件指定的方式有以下三种:

1、在html中,使用onclick属性
2、在javascript中,使用onclick属性
3、在javascipt中,使用addEvenListener()方法

三种方法的比较

(1)在第二、三种方法中,可以向函数传入一个event对象,并读取其相应属性,而方法一不可以。
(2)首选第二、三种,第一种不利于将内容与事件分离,也不能使用event对象的相关内容。

一些语法细节

(1)在第一种方法中,onclick大小写无关,但在第二种方法中,必须使用小写。因为HMTL对大小写不敏感,而JS则会区分大小写。
(2)在第二、三种方法中,指定函数名时没有双引号,而第一种作为一个HTML属性,需要双引号。
(3)第一种方法需要括号,第二、三种不需要。

onclick="clickHandler()"
 document.getElementById("jsOnClick").onclick = clickHandler2; 
 document.getElementById("addEventListener").addEventListener("click", clickHandler2);

完整代码:

<!DOCTYPE html> 
<html> 
<head> 
<meta charset="UTF-8"> 
<title>Even Deom</title> 
 
</head> 
<body> 
 <button id="htmlOnClick" onclick="clickHandler()">htmlOnClick</button> 
 <button id="jsOnClick">jsOnClick</button> 
 <button id="addEventListener">addEventListener</button> 
  
 <script defer> 
 function clickHandler() { 
 alert("onclick attribute in html"); 
 } 
 function clickHandler2(e) { 
 alert(e.target.innerHTML); 
 } 
 document.getElementById("jsOnClick").onclick = clickHandler2; 
 document.getElementById("addEventListener").addEventListener("click", 
  clickHandler2); 
</script> 
</body> 
</html>

以上所述就是本文的全部内容了,希望大家能够喜欢。

Javascript 相关文章推荐
onbeforeunload与onunload事件异同点总结
Jun 24 Javascript
js中for in的用法示例解析
Dec 25 Javascript
jQuery使用之标记元素属性用法实例
Jan 19 Javascript
jquery插件unobtrusive实现片段式加载
Jun 15 Javascript
js+CSS实现模拟华丽的select控件下拉菜单效果
Sep 01 Javascript
详解Vue组件之间的数据通信实例
Jun 17 Javascript
用vue快速开发app的脚手架工具
Jun 11 Javascript
bootstrap-table实现表头固定以及列固定的方法示例
Mar 07 Javascript
vue-cli+axios实现文件上传下载功能(下载接收后台返回文件流)
May 10 Javascript
javascript移动端 电子书 翻页效果实现代码
Sep 07 Javascript
在vue中利用全局路由钩子给url统一添加公共参数的例子
Nov 01 Javascript
如何实现echarts markline标签名显示自己想要的
Jul 20 Javascript
javascript实时显示当天日期的方法
May 20 #Javascript
JavaScript中String.prototype用法实例
May 20 #Javascript
实现无刷新联动例子汇总
May 20 #Javascript
javascript中CheckBox全选终极方案
May 20 #Javascript
javascript消除window.close()的提示窗口
May 20 #Javascript
在JS方法中返回多个值的方法汇总
May 20 #Javascript
AspNet中使用JQuery上传插件Uploadify详解
May 20 #Javascript
You might like
php下使用SMTP发邮件的代码
2008/01/10 PHP
destoon实现会员商铺中指定会员或会员组投放广告的方法
2014/08/21 PHP
解决phpcms更换javascript的幻灯片代码调用图片问题
2014/12/26 PHP
php将图片保存入mysql数据库失败的解决方法
2014/12/27 PHP
dojo 之基础篇
2007/03/24 Javascript
Track Image Loading效果代码分析
2007/08/13 Javascript
javascript 处理HTML元素必须避免使用的一种方法
2009/07/30 Javascript
基于jquery的一个简单的脚本验证插件
2010/04/05 Javascript
JavaScript取得鼠标绝对位置程序代码介绍
2012/09/16 Javascript
JAVASCRIPT模式窗口中下载文件无法接收iframe的流
2013/10/11 Javascript
在百度知道团队中快速审批新成员的js脚本
2014/02/02 Javascript
js的form表单提交url传参数(包含+等特殊字符)的两种解决方法
2016/05/25 Javascript
深入理解vue.js双向绑定的实现原理
2016/12/05 Javascript
jquery表单插件form使用方法详解
2017/01/20 Javascript
利用JS判断客户端类型你应该知道的四种方法
2017/12/22 Javascript
JavaScript日期工具类DateUtils定义与用法示例
2018/09/03 Javascript
用node开发并发布一个cli工具的方法步骤
2019/01/03 Javascript
vue-cli3中配置alias和打包加hash值操作
2020/09/04 Javascript
Python爬虫框架Scrapy实战之批量抓取招聘信息
2015/08/07 Python
Django自定义分页效果
2017/06/27 Python
Python pandas.DataFrame 找出有空值的行
2019/09/09 Python
Python如何操作office实现自动化及win32com.client的运用
2020/04/01 Python
python实现批量命名照片
2020/06/18 Python
Python制作运行进度条的实现效果(代码运行不无聊)
2021/02/24 Python
PurCotton全棉时代官网:100%天然棉花生产的生活护理用品
2016/11/18 全球购物
伦敦所有西区剧院演出官方票务代理:Theatre Tickets Direct
2017/05/26 全球购物
Blue Nile台湾:钻石珠宝商,订婚首饰、结婚戒指和精品首饰
2017/11/24 全球购物
护理专业本科生自荐信
2013/10/01 职场文书
自我鉴定的范文
2013/10/03 职场文书
优秀干部获奖感言
2014/01/31 职场文书
2014年十一国庆向国旗敬礼寄语
2014/04/11 职场文书
促销活动计划书
2014/05/02 职场文书
优秀的应届生自荐信
2014/05/23 职场文书
计算机相关专业自荐信
2014/07/02 职场文书
上课讲话检讨书范文
2015/05/07 职场文书
25张裸眼3D图片,带你重温童年的记忆,感受3D的魅力
2022/02/06 杂记