• Event 对象


    1. 事件对象

    Event 对象代表事件的状态,比如事件在其中发生的元素、键盘按键的状态、鼠标的位置、鼠标按钮的状态。

    • 什么时候会产生Event 对象呢? 
      • 例如: 当用户单击某个元素的时候,我们给这个元素注册的事件就会触发,该事件的本质就是一个函数,而该函数的形参接收一个event对象.
    • 事件通常与函数结合使用,函数不会在事件发生前被执行!

     

    target 事件属性可返回事件的目标节点(触发该事件的节点),如生成事件的元素、文档或窗口。

    语法

    event.target

    2. 事件流

    2.1 事件流发展史

    • 事件发展史,这位大神已经写好了,想去偷瞄两眼的请点击这里

    2.2 冒泡

    • 什么是事件冒泡, 
      • 官方的定义就是从最特定的事件目标到最不特定的事件目标

    意思就是说,假如用户单击了一个元素,该元素拥有一个click事件,那么同样的事件也将会被它的祖先触发,这个事件从该元素开始一直冒泡到DOM树的最上层,这一过程称为事件冒泡

    2.3 捕获

    • 什么是事件捕获

    事件捕获和事件是相反的,也就是说,当用户触发了一个事件的时候,这个事件是从DOM树的最上层开始触发一直到捕获到事件源.

    2.4 事件流

    • 它的由来

    由于微软和网景乱搞,后来必须要为事件传播机制,制定一个标准,因为事件捕获是网景公司开发出来的,而事件冒泡是由微软公司开发出来的,它们都想要自己的技术成为标准,所以导致这两个公司老是干架,制定标准的人为了不让它们干架,所以研发了事件流.

    2.5 事件流的写法以及实现方式

    • 标准实现方式使用关键词addEventListener,假如你想要给某一个元素添加事件,现在就可以这样写element.addEventListener(eventType, fn, false) 
      • dom对象.addEventListener(事件类型, 回调函数, 事件机制)这里的事件类型表示你要使用哪种事件类型比如click, 回调函数里面写着触发此事件你要做什么事情, 事件机制分为冒泡和捕获,如果为false表示事件冒泡,为true表示事件捕获
    • 既然有标准的实现方式,那么肯定也存在着不和谐的写法,没办法谁让人家牛逼呢,俗话说的好啊两虎之争必有一伤,可伤了我们程序员了.这种不和谐的写法是 
      • dom对象.attachEvent(eventType, fn)第一个参数表示事件类型,第二个是回调.这种写法兼容IE, IE没有实现事件捕获,因为在当时他比较厉害,以为没必要…………只是,,,,省略一千字, 现在微软的浏览器已经做得很好了… 只是调侃一下无其他意图..
    • 以上的两种写法一种是兼容W3C标准的一种是老版IE的写法
  • 相关阅读:
    三、改变struts.xml默认路径后web.xml如何配置
    学习日记_SSH框架web.xml配置文件篇
    StrutsPrepareAndExecuteFilter的作用
    web.xml 中的listener、 filter、servlet 加载顺序及其详解
    HTTP协议是什么?(及get和post请求的区别)
    REST和SOAP Web Service的比较
    struts.xml中的intercepter
    Struts2 XML配置详解
    web.xml配置详解 (及<context-param>配置作用 )
    Java常量池详解
  • 原文地址:https://www.cnblogs.com/szl6/p/9965378.html
Copyright © 2020-2023  润新知