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 相关文章推荐
jQuery学习5 jQuery事件模型
Feb 07 Javascript
jquery 3D球状导航的文章分类
Jul 06 Javascript
javascript生成随机颜色示例代码
May 05 Javascript
javascript实现简单的贪吃蛇游戏
Mar 31 Javascript
javascript高级编程之函数表达式 递归和闭包函数
Nov 29 Javascript
Google 地图类型详解及示例代码
Aug 06 Javascript
AngularJs bootstrap搭载前台框架——准备工作
Sep 01 Javascript
javascript事件捕获机制【深入分析IE和DOM中的事件模型】
Dec 15 Javascript
javascript 实现文本使用省略号替代(超出固定高度的情况)
Feb 21 Javascript
Linux使用Node.js建立访问静态网页的服务实例详解
Mar 21 Javascript
Node.js  事件循环详解及实例
Aug 06 Javascript
layui监听单元格编辑前后交互的例子
Sep 16 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
JavaScript开发规范要求(规范化代码)
2010/08/16 Javascript
EasyUi tabs的高度与宽度根据IE窗口的变化自适应代码
2010/10/26 Javascript
jQuery操作DOM之获取表单控件的值
2015/01/23 Javascript
javascript学习小结之prototype
2015/12/03 Javascript
用JavaScript获取页面文档内容的实现代码
2016/06/10 Javascript
Vue.js Ajax动态参数与列表显示实现方法
2016/10/20 Javascript
JS实现上传图片的三种方法并实现预览图片功能
2017/07/14 Javascript
浅谈vuex中store的命名空间
2019/11/08 Javascript
解决Vue打包上线之后部分CSS不生效的问题
2019/11/12 Javascript
JS数组方法shift()、unshift()用法实例分析
2020/01/18 Javascript
vue proxy 的优势与使用场景实现
2020/06/15 Javascript
全面解析JavaScript Module模式
2020/07/24 Javascript
vue实现日历表格(element-ui)
2020/09/24 Javascript
[01:03:56]Mineski vs TNC 2018国际邀请赛淘汰赛BO1 8.21
2018/08/22 DOTA
python写的一个文本编辑器
2014/01/23 Python
Python实现的彩票机选器实例
2015/06/17 Python
最近Python有点火? 给你7个学习它的理由!
2017/06/26 Python
JS设计模式之责任链模式实例详解
2018/02/03 Python
Python cookbook(字符串与文本)在字符串的开头或结尾处进行文本匹配操作
2018/04/20 Python
浅谈python之新式类
2018/08/12 Python
pyttsx3实现中文文字转语音的方法
2018/12/24 Python
python 实现倒排索引的方法
2018/12/25 Python
对Python w和w+权限的区别详解
2019/01/23 Python
pygame实现俄罗斯方块游戏(AI篇1)
2019/10/29 Python
parser.add_argument中的action使用
2020/04/20 Python
Python 多线程C段扫描、检测 Ping扫描脚本的实现
2020/09/03 Python
Python logging自定义字段输出及打印颜色
2020/11/30 Python
python爬虫破解字体加密案例详解
2021/03/02 Python
英国、欧洲和全球租车服务:Avis英国
2016/08/29 全球购物
幼儿园安全检查制度
2014/01/30 职场文书
公司活动方案范文
2014/03/06 职场文书
2014教师研修学习体会
2014/07/08 职场文书
解除劳动合同证明书
2014/09/26 职场文书
党员个人剖析材料(四风问题)
2014/10/07 职场文书
2014年人事工作总结范文
2014/11/19 职场文书
爱牙日宣传活动总结
2015/02/05 职场文书