zoukankan      html  css  js  c++  java
  • Javascript高级程序设计第二版第十二章Event笔记

    今天给诸位分享一下 chapter 12 Events

     所谓事件就是页面与文档窗口发生交互的瞬间。当年事件发生时它可以被预定(程序处理)。

     事件有两个过程,冒泡过程,或捕获过程。

     冒泡是自上而下,捕获是自下而上。
    这个顺序是document -> html -> body -> onclick element

     比如单击一下一个div,但浏览器不认为你只单击一个dom元素,而是div,body,html,document等这些元素。

     dom一般会处理捕获或冒泡时的事件,但ie只处理冒泡时,
    ie的event 处理 attachEvent(type,fn);
    dom addEventListener(type,fn, true|false);

    dom addEventListener(type,fn, true|false);
    type:事件类型,
    fn:事件处理函数
    true 在捕获阶段, false 在冒泡阶段。

     司徒的通用addEvent:

    addEvent:function(el, type, fn ) {
      
    if(!+"\v1") {
          el[
    'e'+type+fn]=fn;
          el.attachEvent( 
    'on'+type, function() {
              el[
    'e'+type+fn]();
          } );
      }
    else{
          el.addEventListener( type, fn, 
    false );
      }
    }

    这与平常的element.onclick这种有什么区别呢?

    如果给element上添加两个onclick只会执行一个。但attachEvent添加两个,会从后往执行。

     对应的删除事件:detchEvent() removeEventListener()

    一般事件分五类:
    1. UI事件,
    2. 7个鼠标事件(click,dblclick,mousedown,mouseover,mousemove,mouseup,mouseout,)
    3. 3个键盘事件( keypress,keydown,keyup)
    4. html事件(load,resize,scroll,unload)
    5 因dom变化引起的事件

    今天大概就这么多。细节,还要在仔细斟酌。



  • 相关阅读:
    C++面向对象高级编程(下)第二周-Geekband
    C++面向对象高级编程(下)第一周-Geekband
    C++面向对象高级编程(下)-Geekband
    堆,栈,内存管理, 拓展补充-Geekband
    C++面向对象高级编程(上)-Geekband
    MFC 多屏显示
    Open CASCADE Technology: IGES Support
    JAVA反射
    HashMap
    Linux 系统编程
  • 原文地址:https://www.cnblogs.com/jikey/p/1807829.html
Copyright © 2011-2022 走看看