• JS事件类型


    Web浏览器中可能发生的事件有很多类型,下面是几种常用的事件类型:

       UI事件,焦点事件,鼠标与滚轮事件,键盘与文本事件,复合事件变动事件,HTML5事件设备事件,触摸与手势事件。

      UI 事件:UI事件中UI即(User Interface,用户界面),当用户与页面桑拿的元素交互时触发。

    1.UI事件中主要包括load,unload,abort,error,select,resize,scroll事件。

    1.load事件

       此事件为当页面完全加载完之后(包括所有的图像、js文件、css文件等外部资源),就会触发window上面的load事件。

       这个事件是JavaScript中最常用的事件,比如我们经常会使用window.onload=function(){};这种形式,即当页面完全加载完之后执行其中的函数。

    2.unload事件

       显然,这个事件是与load事件相对的。在文档被完全卸载后触发。用户从一个页面切换到另一个页面就会触发unload时间。利用这个事件最多的情况是清楚引用,避免内存泄漏。

       这个事件同样有两种方式来指定。一种是JavaScript方式,使用EventUtil.addHandler();另一种就是在body元素中添加一个特性。

         值得注意的是,一定要小心编写onload事件中的代码,因为它是在页面卸载后才触发,所以说页面加载后存在的那些对象,在onload触发之后就不一定存在了!

    3.resize事件

        当调整浏览器的窗口到一个新的宽度或高度时,就会触发resize事件。这个事件在window(窗口)上面触发。因此同样可以通过JS或者body元素中的onresize特性来指定处理程序。 

    4.scroll事件

      这个事件会在文档被滚动期间重复被触发,所以应当尽量保持事件处理程序的代码简单。

    第二部分:焦点事件

      焦点事件会在页面元素获得或失去焦点时触发。主要有下面几种:

    • blur   在元素失去焦点时触发。这个事件不冒泡,所有浏览器都支持。
    • focus   在元素获得焦点时触发。这个事件不冒泡,所有浏览器都支持。
    • focusin  在元素获得焦点时触发。这个事件冒泡,某些浏览器不支持。
    • focusout 在元素失去焦点时触发。这个事件冒泡,某些浏览器不支持。

      注意:即使blur和focus不冒泡,也可以在捕获阶段侦听到他们。

    第三部分:鼠标与滚轮事件

      鼠标事件是Web开发中最常用的一类事件,因为鼠标是最主要的定位设备。

    • click---用户单击鼠标左键或按下回车键触发
    • dbclick---用户双击鼠标左键触发。
    • mousedown---在用户按下了任意鼠标按钮时触发。
    • mouseenter---在鼠标光标从元素外部首次移动到元素范围内时触发。此事件不冒泡
    • mouseleave---元素上方的光标移动到元素范围之外时触发。不冒泡
    • mousemove---光标在元素的内部不断的移动时触发。
    • mouseover---鼠标指针位于一个元素外部,然后用户将首次移动到另一个元素边界之内时触发。
    • mouseout---用户将光标从一个元素上方移动到另一个元素时触发。   
    • mouseup---在用户释放鼠标按钮时触发。

    第四部分:键盘和文本事件

    •   该部分主要有下面几种事件:

      1. keydown:当用户按下键盘上的任意键时触发。按住不放,会重复触发。
      2. keypress:当用户按下键盘上的字符键时触发。按住不放,会重复触发。
      3. keyup:当用户释放键盘上的键时触发。
      4. textInput:这是唯一的文本事件,用意是将文本显示给用户之前更容易拦截文本。

      这四个事件在用户通过文本框输入文本时才最常用到。

     参考:https://www.cnblogs.com/zhuzhenwei918/p/6142228.html

     

     

  • 相关阅读:
    layer 刷新某个页面
    C# Server.MapPath的使用方法
    .net mvc + layui做图片上传(二)—— 使用流上传和下载图片
    ASP.NET MVC4.0 后台获取不大前台传来的file
    安卓手机修改host
    mvc 页面 去掉转义字符
    educoder数据库实训课程-shell语句总结
    python selenium实现自动操作chrome的某网站数据清洗【此篇为jupyter notebook直接导出.md】
    LeetCode_27移除元素【数组】
    LeetCode_26 删除排序数组中的重复项【数组】
  • 原文地址:https://www.cnblogs.com/smileke/p/9944043.html
Copyright © 2020-2023  润新知