zoukankan      html  css  js  c++  java
  • 事件对象

    一. 什么是事件对象?  (黑匣子)
        事件:
            onclick  点击鼠标事件
            ondblclick  双击鼠标事件
            onmousedown 按下鼠标 
            onmouseup  弹起鼠标
            onmouseenter  移入div
            onmouseleave  移除div
            onmouseover  鼠标移到目标上
            onmouseout  鼠标移开
            onmousemove  移动鼠标
            onkeydown 键盘按下事件
            onkeyup  键盘弹起事件  
            onkeypress  键盘按过事件
            onload  页面加载事件
            onunload : 关闭页面时,
            
            onfocus  得焦事件
            onblur  失焦事件
            onchange 状态改变事件
            onsubmit : 提交时触发,
            
            onscroll  滚动事件
            onresize  事件会在窗口或框架被调整大小时发生。  
            
            对象.事件 = function(){}
            
            当绑定对象的事件被触发时,所发生的所有详细信息都会保存在一个地方,这个地方称为事件对象.

      二. 如何获取事件对象?
          标准浏览器 : 给事件触发函数传递的第一个参数,
          IE浏览器 : 全局对象的属性window.event,
          兼容:
         evt = evt || window.event;
          var e = evt || window.event;

      三. 如何获取鼠标的编码值?
        event.button
        标准浏览器 : 左键: 0   滚轮键 : 1  右键 : 2,
        IE9以下:          1           4         2,
        兼容:
        function getButton(evt){
            var e = evt || window.event;
            if(evt){
                return e.button;
            }else if(window.event){
                switch(e.button){
                    case 1 : return 0;
                    case 4 : return 1;
                    case 2 : return 2;
                }
            }
        }

      四. 如何获取鼠标的坐标值?
          1. 相对坐标值 : event.offsetX    event.offsetY,   相对鼠标所在对象上的坐标值
          2. 绝对坐标值(页面坐标值) : event.pageX    event.pageY, 鼠标到页面的坐标值
          3. 可视区坐标值 : event.clientX      event.clientY,   鼠标到页面中可视区域的坐标值
          4. 屏幕坐标值 : event.screenX    event.screenY  鼠标到电脑屏幕的坐标值,

      五. 什么是事件流?什么是事件冒泡?

      事件流 = 事件补获 + 事件目标 + 事件冒泡

      事件捕获:由外向内,由祖先元素向子孙元素传递,依次传递的过程。

      事件冒泡:由内向外,由子孙元素向祖先元素,依次传递的过程,

      注:在浏览器默认开启的是事件冒泡,IE跟欧朋浏览器不支持事件捕获。

    标准浏览器 : event.stopPropagation()
          IE: event.cancelBubble = true;
        兼容:
            event.stopPropagation ? event.stopPropagation() : event.cancelBubble = true;
      六. 如何获取键盘的编码值?

     event.keyCode    event.charCode    event.which
        onkeydown/onkeyup  : 监听是整个键盘.
        event.keyCode : 获取整个键盘的编码值,字母只获取大写的编码值.,
        
        onkeypress : 监听除功能键外的键盘值
        兼容 : event.keyCode || event.charCode || event.which
        火狐:
        event.keyCode : 0,
        event.charCode : 大小写字母的编码值,
        event.which : 大小写字母的编码值,
        谷歌:
        event.keyCode : 大小写字母的编码值,
        event.charCode : 大小写字母的编码值,
        event.which : 大小写字母的编码值,


      七. 如何设置组合键(快捷键)

      event.ctrlKey
          event.shiftKey
          event.altKey

  • 相关阅读:
    each和foreach的区别
    apply和call的用法
    js小知识点
    关于react的一些疑问点
    c语言字符动画的实现
    解决'chromedriver' executable needs to be in PATH问题!
    二叉树的创建和遍历
    dns和dhcp
    编写一个application程序实现如下功能:接受命令行中给出的一个字符串,先将字符串原样输出,然后判断该穿的第一个字母是否为大写,若是大写则统计该串中大写字母的个数,并将所有大写字母输出。
    学生成绩管理系统究极版
  • 原文地址:https://www.cnblogs.com/huhuhuhuhuhu/p/10394828.html
Copyright © 2011-2022 走看看