• JS事件对象(鼠标键盘事件)


    一  事件对象

     1 需要获取键盘和鼠标的信息的时候,用到事件对象。(e)

        例如:document.onclick = function(e){

              var  e = e || event;(做兼容)

            }

        注意:由于事件对象有兼容性,在IE中传不传参数无所谓,但是输出的参数必须是event。

     2 查看用户点击了鼠标的那个键:e.button  

        e.button == 0:代表左键  1:代表滚轮  2:代表右键

     3 事件对象 坐标

        clientX  clientY  可视区的x和y坐标;(可视区可以肤浅理解为一屏的body)

        offsetX  offsetY  当前元素自身身上的坐标;(相对于第一个定位父级)

        pageX  pageY  页面的坐标(包括滚动条);

        screenX  screenY  屏幕的坐标;(整个电脑的屏幕);

      4 键盘中onkeydown和onkeyPress区别

        前者按键盘上的任意字符都可以,后者只能识别字母和数字以及一些常用字符;

        后者不支持ALT和SHIFT键;

        前者回车键的ASCII码的值是13,后者是10。

      5 如何知道用户按下了哪个键

        e.keyCode (兼容) e.which  (返回值是ASCII码);

        需要的话可以用String.fromCharCode 将ASCII码转化为字符进行操作;

    二 事件监听

        addEventListener()三个参数;

          第一个参数是事件名称,不需要加 on ,但是事件要用引号括起来;

          第二个参数是回调函数;

          第三个参数是布尔值,一般情况是false,true代表是捕获。

    三 事件冒泡

      1 IE提出来的事件冒泡。什么是事件冒泡?

        从子元素的事件到父元素的事件依次执行的一个过程就是事件冒泡。

      2 如何阻止事件冒泡:

        e.stopPropagation()兼容e.cancelBubble = true;

    四 事件捕获

      1 网景公司提出来的。什么是事件捕获?

        从父元素的事件到子元素的事件依次执行的一个过程就是事件捕获。

      2 注意:IE是事件冒泡,火狐是事件捕获。

      3 当事件冒泡遇到事件捕获的时候会先捕获再冒泡。

    五 事件代理(事件委托)

      1 利用事件冒泡的机制将子元素的事件加到父级身上。

      2 事件代理优点:

        减少了dom的绑定,提高了性能;

        可以给未来的元素添加事件。

      3 查看用户点击了那个对象?

        e.srcElement  兼容  e.target  (返回的是大写字符);   

  • 相关阅读:
    8天学会Hadoop基础(2)
    [Java]剑指offer:扑克牌顺子
    8天学会Hadoop基础(1):NameNode的工作机制
    [Java]剑指offer:构建乘积数组
    关于Hadoop启动之后jps没有namenode节点的解决方法
    剑指offer:对称的二叉树
    两只小熊队高级软件工程第七次作业敏捷冲刺5
    两只小熊队高级软件工程第七次作业敏捷冲刺4
    两只小熊队高级软件工程第七次作业敏捷冲刺3
    两只小熊队高级软件工程第七次作业敏捷冲刺2
  • 原文地址:https://www.cnblogs.com/xinyouhunran/p/7856214.html
Copyright © 2020-2023  润新知