zoukankan      html  css  js  c++  java
  • jQuery实战谈事件

    今天买到了最新出版的jQuery实战,第一件事情就是看看事件这一章,网景NetScape的Dom0级的事件模型,开辟了Javascript事件的新时代,直到W3C出来Dom2级的事件模型标准,IE依然是走自己的路,让别人说去吧,不过我觉得IE应该要遵循W3C标准,也许微软为了市场地位还是没有完全遵循W3C标准,但从IE7已经开始接近W3C标准,希望微软的路线更接近开发人员会更好,这样JS开发人员就可以更轻松的写自己的业务了。

    好了,废话不多少了,先看看jQuery如何完成Dom0级的事件:

    Code

    要出去了,回来继续写了!

    接着写一些,说事件必然要说说Event参数,IE浏览器的event对象是通过window.event来获取的,一般获取的方式:

    if (!event) event = window.event;

    为什么我们要获得这个参数呢,因为这个event实例上保存大量当前操作的信息,包括像当前元素、鼠标事件坐标、键盘的键值等等。

    那如果我们像获取当前元素该如何来处理呢,我们来看看以下的例子:

    var target = (event.target) ? event.target : event.srcElement;

    为什么我们需要一个三元的运算符来获取它呢,这就是IE所造成,在IE浏览器里存储srcElement属性,而在W3C标准中是取

    event.target属性的。

    那接下来我们会将到有关于事件捕获和事件冒泡,两个重要的事件机制。

    我们知道Html页面脚本是树状的,我们称之为Dom树,如果我们写了一段Html:

    <html>

         <head>

              <title>测试</title>

         </head>

         <body>

              <form>

                   <div>这是一个简单的Dom树</div>

              </form>

         </body>

    </html>

    我们通常称Html的头为树的顶(也称为树的根),简单的方式我们可以将这段代码抓成图片,并顺时针旋转90度,就可以看到Dom树的效果了。

    对于事件的捕获简单的说就是从树顶部,开始向下寻找你要找的对象元素(也可以简单看为id或tag),而对于事件冒泡呢,简单说是

    从当前元素向Dom树的顶部传播,一直到Dom的顶部,这就是常说的事件冒泡阶段了。

    以上所说都是W3C标准的事件模型所支持的,对于IE事件模型,虽然微软提供了与这两个阶段相同的专有接口,但是不支持Dom2级事件模型,可惜啊!

    痛苦啊!作为前段开发员又做大量的兼容工作了,标准的挂接事件的方法为addEventListener(),而IE提供的是attachEvent()方法。

    好了,今天就说到这了,到这里吧,就到这里!

  • 相关阅读:
    TSINGSEE青犀视频编译中通过Golang代码修改Linux服务的ulimit的实现
    为什么说全球疫情的刺激,加快了AI视频智能分析技术的需求?
    EasyPlayer.JS播放录像报错视频文件损坏且播放终止怎么处理?
    TSINGSEE青犀视频开发AI智能分析采用c++中文编码出现乱码问题是由什么导致的
    EasyPlayerJS开发环境出现错误信息并且不展示播放器问题优化
    EasyNVR开发中VLC Player如何将日志输入到文件中以及设置以TCP方式拉取RTSP流
    车牌识别在智慧交通中的重要作用
    树型结构数据,求某结点的所有父结点的自定义函数
    一条有意思的SQL语句分析
    树形数据显示SQL示例代码(在ms sql 2000 DBMS中调试通过)
  • 原文地址:https://www.cnblogs.com/adam/p/1395673.html
Copyright © 2011-2022 走看看