javascript事件冒泡和捕获
2012-07-08 12:24
274 查看
首先理解一下事件:
这里又引出了两个概念
1: 消息
2: 事件响应
当浏览器页面文档的DOM元素发生事件时,将向浏览器发出一个消息(message),这个消息以Event对象的形式生成并沿着DOM树向上传播.浏览器事件的种类很多,包括鼠标点击,鼠标移动,键盘,失去与获得焦点等等.在Javascript中,这些事件都以对应的属性来表示,将一个闭包(我们知道其实函数就是闭包)赋给这个属性,或者注册到这个属性,这个闭包就成为这个事件的处理函数,也成为事件句柄.闭包的执行过程被称为事件响应.
那么我们继续看
Netscape和Microsoft对Event对象处理是不同的. 在IE下event对象会作为window下的属性存在,而Netscape下event对象是被作为事件接收函数(闭包)的参数传递的.
解决兼容Netscape和Microsoft的event对象兼容:
这里又引出了两个概念
1: 消息
2: 事件响应
当浏览器页面文档的DOM元素发生事件时,将向浏览器发出一个消息(message),这个消息以Event对象的形式生成并沿着DOM树向上传播.浏览器事件的种类很多,包括鼠标点击,鼠标移动,键盘,失去与获得焦点等等.在Javascript中,这些事件都以对应的属性来表示,将一个闭包(我们知道其实函数就是闭包)赋给这个属性,或者注册到这个属性,这个闭包就成为这个事件的处理函数,也成为事件句柄.闭包的执行过程被称为事件响应.
那么我们继续看
<script> document.getElementsByTagName("input")[0].onclick=function(){ console.log(arguments.length); // Firefox为1 , IE为0 console.log(typeof window.event); //Firefox 为undefined , IE为object } </script> <input type="button" value="点击" />
Netscape和Microsoft对Event对象处理是不同的. 在IE下event对象会作为window下的属性存在,而Netscape下event对象是被作为事件接收函数(闭包)的参数传递的.
解决兼容Netscape和Microsoft的event对象兼容:
<script> document.getElementsByTagName("input")[0].onclick=function(event){ var event=event || window.event; } </script>
相关文章推荐
- JavaScript示例六(事件冒泡与捕获)
- javascript --- 事件冒泡与事件捕获
- JavaScript权威设计--事件冒泡,捕获,事件句柄,事件源,事件对象(简要学习笔记十八)
- JavaScript事件绑定与冒泡捕获
- 事件流之事件冒泡与事件捕获<JavaScript高级程序设计>学习笔记
- javascript事件冒泡和事件捕获详解
- javascript的事件冒泡和事件捕获
- javascript事件冒泡详解和捕获、阻止方法
- JavaScript 详说事件机制之冒泡、捕获、传播、委托
- JavaScript高级程序设计笔记 事件冒泡和事件捕获
- JavaScript 事件顺序:冒泡和捕获
- JavaScript基础 事件 定义 及 捕获冒泡过程
- javascript事件冒泡详解和捕获、阻止方法
- Javascript 事件冒泡捕获实验
- JavaScript 事件监听, 事件冒泡, 事件捕获, 阻止默认的事件
- 理解:javascript事件捕获 与 事件冒泡
- javascript 事件的捕获和冒泡
- javascript事件冒泡与事件捕获
- javascript——事件捕获冒泡
- javascript事件之: 事件冒泡, 事件捕获 ,阻止默认事件