事件简单总结

一、事件驱动三要素

  1.事件
  2.事件源
  3.事件处理程序
二、事件分类

  A·鼠标事件
    onclick单击、ondblclick双击、
    onmousedown、鼠标按下onmouseup鼠标抬起、onmusemove鼠标移动、
    onmouseover鼠标移入、onmuseout鼠标移出
  B·键盘事件
    onkeydown键盘按下、onkeyup键盘抬起onkeypress按住键盘(字符键)
  C·表单事件
    onsubmit按下提交、onblur失去焦点、onfocus获得焦点、onchange更改内容
  D·页面事件
    onload页面加载完成、onunload撤销载入、onbeforeunload页面刷新或关闭
三、事件绑定

  1、DOM 0级事件绑定
  2、DOM 2级事件绑定
    IE:
    添加:obj.attachEvent("on事件", "处理程序");
    删除:obj.dettachEvent("on事件", "处理程序");
    ****添加程序顺序与执行程序顺序相反,且无法删除匿名函数。
    W3C:
    添加:obj.addEventListener("事件", "处理程序");
    删除:obj.removeEventListener("事件","处理程序");
  解决兼容性问题:

add: function (type, e, foo) {
      if (e.addEventListener) {
        e.addEventListener(type, foo, false);
      } else if (e.attachEvent) {
        e.attachEvent(‘on‘ + type, foo, false);
      } else {
        e[‘on‘ + type] = foo;
     }
  },
remove: function (type, e, foo) {
      if (e.removeEventListener) {
        e.removeEventListener(type, foo, false);
      } else if (e.detachEvent) {
        e.detachEvent(‘on‘ + type, foo);
      } else {
        e[‘on‘ + type] = null;
    }
  }
};

四、事件对象

  1、事件源对象

    IE:window.event
    W3C:e
  2、事件对象属性

  鼠标事件:
    1. 相对于浏览器位置
    clientX 当鼠标事件发生的时候,鼠标相对于浏览器X轴的位置
    clientY 当鼠标事件发生的时候,鼠标相对于浏览器Y轴的位置
    2. 相对于屏幕位置
    screenX 当鼠标事件发生的时候,鼠标相对于屏幕X轴的位置
    screenY 当鼠标事件发生的时候,鼠标相对于屏幕y轴的位置
    3. 相对于事件源位置
    offsetX 当鼠标事件发生的时候,鼠标相对于事件源X轴的位置
    offsetY 当鼠标事件发生的时候,鼠标相对于事件源y轴的位置
  键盘事件:
    keyCode: 获得键盘码
    altKey: 判断alt键是否按下,返回true或false;
    ctrlKey: 判断ctrl键是否按下,返回true或false;
    shiftKey: 判断shift键是否按下,返回true或false;

  常用键盘码:
    enter: 13
    shift: 16
    ctrl: 17
    alt: 18
    空格: 32
    左上右下: 37、38、39、40

五、事件流

  1、分类

    冒泡型:由明确的事件源到最不明确的事件源由内向外触发————false
    捕获型:由不明确的事件源到到明确的事件源由外向内触发————true
    ****IE只支持冒泡型事件
  2、阻止事件流

    FF:stopPropagation();
    IE:cancelBnbble()=true;
  3、Event对象

    W3C:obj.target (返回触发此事件的元素/事件的目标节点)
    IE:srcElement (对于生成事件的window对象Document对象或Element对象的引用)

时间: 2024-08-07 08:23:46

事件简单总结的相关文章

事件简单例子

1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using System.Runtime.InteropServices; 6 7 namespace EventTest 8 { 9 /// <summary> 10 /// 事件订阅者类 11 /// </summary> 12 class Program 13 { 14 static v

oninput和onpropertychange事件简单介绍

oninput和onpropertychange事件简单介绍:这两个事件可能稍感陌生,但是在处理某些事件的时候却是非常的好用的,本章节将简单介绍一下这两个事件的用法.在实际应用中可能需要监听一些输入框值的变化,当然我们可以使用onkeydown.onkeypress.onkeyup 等事件完成,但是这些事件并不能够监听右键复制.黏贴和剪切等功能,这个时候oninput和onpropertychange事件的威力就显现出来了,下面就介绍一下它们.一.oninput事件:此事件是HTML5中的标准事

编写事件简单机制

class Program { static void Main(string[] args) { //创建Name类的对象mynamr Name myname = new Name(); //向myname对象Get事件注册事件处理方法myname_get myname.Get += new Name.myEventHandler(myname_get); Console.Write("\n请输入你的名字:"); //接受用户输入值并赋值给input变量 string input =

委托事件简单实现

之前一直没有搞懂委托和事件的相关含义,而且网上的教程又比较抽象臃肿,我实在是一个脑袋比较笨又很懒的人,所以就这么不了了之到现在.最近碰到很多需要委托事件的实际需要,比如自定义用户控件.刚刚求同事指导一番,发现了一个比较好用的方法来实现需求,具体过程如下: 一.需求 现在我创建了一个自定义控件 TestUserControl,单击这个用户控件的时候,会返回这个用户控件对应的属性类 TestPropertyClass,在父窗体TestForm(即调用窗体)中拖拉了此用户控件,窗体本身有一个显示属性用

JavaScript中对事件简单的理解(2)

事件(event) event对象 (1)什么是event对象? Event 对象代表事件的状态,比如事件在其中发生的元素.键盘按键的状态.鼠标的位置.鼠标按钮的状态.事件通常与函数结合使用,函数不会在事件发生前被执行! (2)Event相关方法与属性 1.谷歌 event.stopPropagation().IE event.CancelBubble=true:终止事件在传播过程的捕获.目标处理或起泡阶段进一步传播.调用该方法后,该节点上处理该事件的处理程序将被调用,事件不再被分派到其他节点

JavaScript中对事件简单的理解

事件(event) 1.什么是JavaScript事件? 事件是文档或浏览器中发生的特定交互瞬间. 2.事件流 事件流描述的是从页面中接受事件的顺序,包含IE提出的事件冒泡流与Netscape提出的事件捕获流.浏览器默认的是事件冒泡流. 两种思想: IE的事件流叫做事件冒泡,即事件开始时由最具体的元素接受,然后逐级向上传播到较为不具体的节点.  Netscape团队提出的另一种事件流叫做事件捕获.事件捕获的思想是不太具体的DOM节点应该更早接收到事件,而最具体的节点应该最后接收到事件. 3.事件

携程事件简单故障分析

互联网安全越来越严峻 自从windowsxp停止更新维护后,世界范围内的安全事件就层出不穷,几乎一发不可收拾. windows漏洞很多,入侵windows服务器基本上不是问题,所以安全事件不可避免. linux最近爆出很多漏洞,还有很多漏洞未爆出. 感觉unix比较安全,比如sinox操作系统.但是只是操作系统层面安全还不够,应用程序安全跟操作系统无关. 应用程序的漏洞,随着应用程序复杂度增加,漏洞可能也增加,而代码安全审核就很重要. 携程故障分析 1.线上数据全部被删,再次发布依旧被删 线上数

Spring.Net学习之简单的知识点(一)

1.Spring.Net是一个开源的应用程序框架,可以简化开发主要功能(1)实现控制反转(IOC/DI),也就是不要直接new,依赖于接口(2)面向切面编程(AOP),就是向程序中利用委托注册事件简单来说:Spring.Net是一个轻量级的控制反转和面向切面的容器框架. 2.Spring.Net提供的dll说明Spring.Core.dll:包含Spring.Net框架基于的核心工具类,Spring.Net其他组件都要使用这里的类,是其他组件的基本核心Spring.Aop.dll:Spring.

Cocos2D-X2.2.3学习笔记9(处理重力感应事件,移植到Android加入两次返回退出游戏效果)

这节我们来学习Cocos2d-x的最后一节,怎样处理重力感应事件,移植到Android后加入再按一次返回键退出游戏等.我这里用的Android,IOS不会也没设备呃 效果图不好弄,由于是要移植到真机上的. #ifndef __HELLOWORLD_SCENE_H__ #define __HELLOWORLD_SCENE_H__ #include "cocos2d.h" using namespace cocos2d; class HelloWorld : public cocos2d: