zoukankan      html  css  js  c++  java
  • JavaScript高级程序设计43.pdf

    事件类型

    Web浏览器中有很多事件类型,“DOM3级事件”规定了以下几类事件

    UI事件(用户界面),当用户与页面上的元素交互时触发;

    焦点事件,当元素获得或失去焦点时触发

    鼠标事件,当用户通过鼠标在页面上执行操作时触发

    滚轮事件,当用户使用鼠标滚轮(或类似设备)时触发

    文本事件,当在文档中输入文本时触发

    键盘事件,当用户通过键盘在页面上执行操作时触发

    合成事件,当为IME(输入法编辑器)输入字符时触发

    变动事件,当底层DOM结构发生变化时触发

    变动名称事件,当元素或属性名变动时触发,已废弃不做介绍

    UI事件

    UI事件指得是那些不一定与用户操作有关的事件

    DOMActivate:表示元素已经被用户操作激活,DOM3级事件中已被废弃

    load:页面加载完全后在window上触发,框架都加载完成后在框架集上触发,图像加载完成后在<img>元素上面触发,或者当嵌入的内容加载完毕时在<object>元素上面触发

    unload:页面完全卸载后在window上面触发,所有框架卸载后在框架集上触发,或者当嵌入的内容加载卸载时在<object>元素上面触发

    abort:在用户停止下载过程时,如果嵌入的内容没有加载完,则在<object>元素上面触发

    error:当发生JavaScript错误时,在window上面触发,无法加载图片时在<img>元素上触发,无法加载嵌入内容时在<object>元素上面触发,或者当有一个或者多个框架无法加载时在框架集上面触发

    select:当用户选择文本框(<input><textarea>)中的一个或多个字符时触发

    resize:当窗口或框架的大小发生变化时在window或框架上面触发

    scroll:当用户滚动带滚动条的元素中的内容时,在该元素上面触发。<body>元素中包含所加载页面的滚动条

    除了DOMActivate之外,其他事件在DOM2级事件中都归为HTML事件

    var isSupported=document.implementation.hasfeature("HTMLEvents","2.0");  //浏览器是否支持DOM2级事件规定的HTML事件

    var isSupported=document.implementation.hasfeature("UIEvents","3.0");  //浏览器是否支持DOM3级事件规定的事件

    load事件

    页面完全加载后(包括所有图像、JavaScript文件、CSS文件等外部资源),就会触发window上面的load事件,有两种方式处理该事件

    EventUtil.addHandler(window,"load",function(event){  //window可以替换成从image取得的元素

          alert("Loaded!");

        });

    <body onload="alert('Loaded!')">  //body可以替换成img元素

    “DOM2级事件”规范,应该在document而非window上面触发load事件,但所有浏览器都在window上面触发,以确保向后兼容

    还有一些元素以非标准的方式支持load事件,一下版本浏览器中<script>元素也会触发load事件,以确定Javascript文件是否加载完成,还有<link>元素的load事件(这些不推荐使用)

  • 相关阅读:
    CF1208C
    CF1208B
    CF1208A
    CF1206A
    wqy的C题
    wqy的B题
    [POI2005]SAM-Toy Cars
    Gym
    操作系统学习---进程
    C++多线程(POSIX)
  • 原文地址:https://www.cnblogs.com/sdgjytu/p/3779786.html
Copyright © 2011-2022 走看看