dom01
事件冒泡:即事件最开始由最具体的元素(文档中嵌套层次最深的那个节点)接收,然后逐级向上传播至最不具体的那个节点(文档)。
事件捕获:即不太具体的节点应该更早接收到事件,而最具体的节点最后接收到事件。
事件处理程序:1.HTML处理程序
<body>
<div id="box">
<input type="button" value="按钮" id="btn" onclick="alert(123)"/>
</div>
</body>
javascript和html耦合在一起,改起来比较麻烦,不建议使用的:
function showMessage(){
alert("hello word")
}
</script>
</head>
<body>
<div id="box">
<input type="button" value="按钮" id="btn" onclick="showMessage()"/>
</div>
2.dom0级事件处理程序
较传统的方式:把一个函数赋值给一个事件爱你的处理程序属性用的比较多的方法 简单 夸浏览器的优势
window.onload=function(){
var btn2=document.getElementById('btn2');
btn2.onclick=function(){
alert('这个是dom0级添加的事件')
}
// btn2.onclick=null;
}
<input type="button" value="按钮3" id="btn3"/>
3.dom2级事件处理程序
dom2级事件定义了两种方法:
用于处理指定和删除事件处理程序的操作
addEventListener()和removeEventListner()
接收三个参数:要处理的事件名,作为事件处理程序的函数和布尔值(false事件冒泡,true事件捕获)
window.onload=function(){
var btn3=document.getElementById('btn3');
btn3.addEventListener('click',showMessage,false);
btn3.addEventListener('click',function(){
alert(this.value)
},false);
btn3.removeEventListener('click',showMessage,false);
}
<input type="button" value="按钮3" id="btn3"/>
4.IE事件处理程序
attachEvent()添加事件
detachEvent()删除事件
接收相同的两个参数:事件处理程序的名称和事件处理程序的函数
不使用第三个参数的原因:IE8以及更早的浏览器版本只支持事件冒泡
window.onload=function(){
var btn3=document.getElementById('btn3');
btn3.attachEvent('onclick',showMessage)
}
<input type="button" value="按钮3" id="btn3"/>
5.跨浏览器的事件处理程序
function showMessage(e){
alert(e.type);
}
var eventUtil={
//添加句柄
addHandler:function(element,type,handler){
if(element.addEventListener){//dom二级
element.addEventListener(type,handler,false);
}else if(element.attachEvent){//IE
element.attachEvent('on'+type,handler);
}else{//dom0级
element['on'+type]=handler;//element.onclick===element['onclick'];
}
},
//删除句柄
removeHandler:function(element,type,handler){
if(element.removeEventListener){//dom二级
element.removeEventListener(type,handler,false)
}else if(element.detachEvent){//IE
element.detachEvent('on'+type,handler);
}else{//dom0级
element['on'+type]=null;//element.onclick===element['onclick']
}
}
}
<input type="button" value="按钮3" id="btn3"/>
<script>
var btn3=document.getElementById('btn3');
eventUtil.addHandler(btn3,'click',showMessage);
//eventUtil.removeHandler(btn3,'click',showMessage);
</script>
dom01的更多相关文章
- 004 DOM01
一:说明 1.Js的三个部分 ECMAScripts标准:JS的基本语法 DOM:文档对象模型,操作页面的元素的 BOM:浏览器对象模型,操作浏览器 2.术语 文档:一个页面就是一个文档 元素:页面中 ...
- JS基础语法之DOM01(找标签、改属性样式)
DOM:暂时可以理解为找标签.改样式 1.BOM: 记住location这个就可以: location.href 获得当前页面的URL location.href = "URL" ...
- eCharts_基于eCharts开发的一个多图表页面
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- eCharts_数据过多底部滚动条实现数据展示
效果图: 实现原理: 1.添加dataZoom属性 效果实现代码: <!DOCTYPE html> <html> <head> <meta charset=& ...
- 基于three.js实现特定Div容器的粒子特效封装
本文基于three.js实现特定容器的粒子特效效果,支持用户传入特定的dom对象以及粒子颜色. 效果图 移入库 <script src="jquery-1.11.3.min.js&qu ...
- DOM解析xml学习笔记
一.dom解析xml的优缺点 由于DOM的解析方式是将整个xml文件加载到内存中,转化为DOM树,因此程序可以访问DOM树的任何数据. 优点:灵活性强,速度快. 缺点:如果xml文件比较大比较复杂会占 ...
随机推荐
- unix pwd使用命令
[语法]: pwd [说明]: 此命令会显示当前的工作文件夹 []: pwd 这显示当前工作文件夹 版权声明:本文博主原创文章.博客,未经同意不得转载.
- Java写程序猿专访String2
2.如何推理2一个字符串是否具有相同的字符 例如"aaaabbc"随着"abcbaaa" 2种思想 import java.lang.reflect.Array ...
- android user如何打开一个版本号root才干
首先,你要确认你要打开adbd 的root 才干,或者让app 它有可能获得root 才干. (1). adbd 的root 才干 我们通常debug user 当问题的版本号, 或行为user ...
- 数据库开发——参照完整性——在外键中使用Delete on cascade选项
原文:数据库开发--参照完整性--在外键中使用Delete on cascade选项 原文: http://www.mssqltips.com/sqlservertip/2743/using-dele ...
- SDI接口
SDI接口,是"数字分量串行接口". SDI接口是数字分量串行接口(serial digital interface)的首字母缩写. 1简单介绍编辑 SDI接口是一种"数 ...
- C#
抽象类其中创建一个静态方法
</pre><pre name="code" class="csharp"><span style="font-size ...
- Arrays.asList的那点事
import java.util.ArrayList; import java.util.Arrays; import java.util.HashSet; import java.util.List ...
- hdu4758 Walk Through Squares 自动机+DP
题意:给n*m的地图,在地图的点上走,(n+1)*(m+1)个点,两种操作:往下走D和往右走R.现在要从左上角走到右下角,给定两个操作串,问包含这两个串的走法总共有多少种. 做法:用这两个串构建自动机 ...
- 【ThinkingInC++】2、输入和输出流
/** *特征:输入和输出流 *时间:2014年8月8日07:37:35 *作者:cutter_point */ #include<iostream> using namespace st ...
- C++ 虚函数表决心
C++ 虚函数表解析 xml:namespace prefix = o /> 陈皓 http://blog.csdn.net/haoel 前言 C++中的虚函数的作用主要是实现了多态的机制. 关 ...