zoukankan      html  css  js  c++  java
  • javascript事件冒泡和捕获

    首先理解一下事件:

      这里又引出了两个概念

          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>
    
  • 相关阅读:
    图像维纳滤波实现(2)
    C++之路 变量和基本类型(2)
    [C# 线程处理系列]专题四:线程同步
    [转]排列组合
    Bessie Come Home(!)先存着
    The ONE v1.4.1 Readme
    myeclipse字体修改
    vm 三种上网方式
    Cow Tours
    C++中, 构造函数和析构函数能不能被显示调用?
  • 原文地址:https://www.cnblogs.com/unbreakable/p/2581426.html
Copyright © 2011-2022 走看看