javascript相关事件的几个概念
作者:bea
客户端javascript程序采用了异步事件驱动编程模型。 相关事件的几个概念: 事件类型(event type):用来说明发生什么类型事件的字符串; 事件目标(event target):发生事件的对象; 事件处理程序(event handler):处理或响应事件的函数; 事件对象(event object):与特定事件相关且包含有关该事件详细信息的对象; 事件传播(event propagation):浏览器决定哪个对象出发其事件处理程序的过程; 注册
客户端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>
以上所述就是本文的全部内容了,希望大家能够喜欢。
有用 | 无用
相关事件的几个概念:
事件类型(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>
以上所述就是本文的全部内容了,希望大家能够喜欢。
有用 | 无用
猜你喜欢
您可能感兴趣的文章:
- jquery控制表单输入框显示默认值的方法
- jQuery实现自动滚动到页面顶端的方法
- JavaScript检测鼠标移动方向的方法
- jQuery实现强制cookie过期方法汇总
- jQuery判断指定id的对象是否存在的方法
- jQuery实现转动随机数抽奖效果的方法
- JQuery分屏指示器图片轮换效果实例
- jQuery聚合函数实例
- js获取页面description的方法
- js同源策略详解
- js设置document.domain实现跨域的注意点分析
- jQuery+ajax实现无刷新级联菜单示例
- jQuery插件expander实现图片翻转特效
- 简单分析javascript面向对象与原型
- jQuery获取上传文件的名称的正则表达式
- js兼容火狐获取图片宽和高的方法
- js兼容火狐显示上传图片预览效果的方法
- javascript去除空格方法小结
- 删除javascript所创建子节点的方法