`
zccst
  • 浏览: 3322034 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

[Event]事件(高程版)(一)事件类型

阅读更多
作者:zccst

一、UI事件

1,load
两种添加方式:js方式添加,<body onload="alert('Loaded')"></body>
img也可以触发load事件,无论在DOM中,还是HTML中,例如
<img src="smile.gif" onload="alert('Image loaded.')">,当然也可以用js方式实现
但一定要先添加事件,再指定src属性。

需要格外注意:新图像元素不一定要从添加到文档后才开始下载,主要设置了src属性就会开始下载。

2,unload
在文档被完全卸载后触发,如用户从一个页面切换到另一个页面。利用这个事件最多的情况是清除引用,以避免内存泄露。

3,resize
不同浏览器有不同的机制。IE,Safari,Chrome和Opera在浏览器窗口变化了1px时就触发,然后随着变化不断重复触发。FF只会在用户停止调整窗口时才触发。
所以,不能在该handler里加入大量计算的代码,导致浏览器变慢

4,scroll


二、焦点事件
blur, focus不冒泡(但focusin, focusout冒泡)


三、鼠标与滚轮事件
1,鼠标事件
mouseenter, mouseleave不冒泡
双击过程(七步走):down -> up -> click -> down -> up ->click -> dbclick

2,坐标
event.clientX, event.clientY  浏览器左上角

event.pageX, event.pageY 坐标是从页面本身而非视口的左边和顶边计算的。
3,屏幕坐标
screenX, screenY,在屏幕中的坐标

4,修改键
shift, ctrl, alt, windows, (cmd)


四、键盘与文本事件

五、复合事件

六、变动事件

七、HTML5事件
1,contextmenu

2,beforeunload
可以用来取消卸载,并继续使用原有页面

3,DOMContentLoaded事件
load颇费周折,而DOMContentLoaded事件则在形成完整的DOM树之后就会触发,不理会img,Javascript文件、CSS文件或其他资源是否已经下载完毕。

与load事件不同,DOMContentLoaded支持在页面下载的早期添加事件处理程序,这也就意味着用户能够尽早地与页面进行交互。
要处理DOMContentLoaded事件,可以为document或window添加事件,尽管这个时间会冒泡到window,但它的目标实际上是document(其target是document)
EventUtil.addHandler(document, "DOMContentLoaded", function(event){
    alert("DOMContentLoaded");
});

IE9+, FF, Chrome, Safari 3.1+, Opera 9+都支持DOMContentLoaded事件。
对于不支持的浏览器,建议加一个0毫秒的超时调用,如下
//在当前js处理完成后立即运行这个函数,为了确保这个方法有效,必须将其作为页面中的第一个超时调用;即便如此,也还是无法保证在所有环境中该超时调用一定会早于load事件被触发。
setTimeout(function(){
    //在此添加事件处理程序
},0);



4,readystatechange事件
批注:与XMLHTTPRequest对象的onreadystatechange只差了一个on。
IE支持,支持readystatechange事件的每一个对象都有一个readyState属性,可能包含下面5个值的一个:(未必所有阶段都经历)
uninitialized 未初始化
loading
loaded
interactive 交互。可以操作对象了,但还没有完全加载(如图片,js,css等)
complete 完毕

其中,readyState的interactive状态 与 DOMContentLoaded大致相同时刻触发readystatechange事件。

与load一起使用时,无法预测先后顺序。包含较多或较大外部资源时先于load,否则很难判断

5,pageshow, pagehide事件

6,hashchange事件
由于浏览器支持程度不同,最好还是使用location.hash

hashchange事件会在页面URL中的片段标识符(第一个#号开始到末尾的所有字符,包括#号)发生改变时触发.

特点:
冒泡
HTML5
不能取消默认行为
目标:defaultView

更多信息请参看:http://zccst.iteye.com/blog/2169437




八、设备事件

九、触摸与手势事件
  • 大小: 16.9 KB
分享到:
评论

相关推荐

    Event事件总汇资源下载 event事件大全!请支持啊

    在IT行业中,事件(Event)是程序设计中的一个重要概念,特别是在事件驱动编程模型中。事件总汇是指收集了各种类型事件及其处理方式的资源集合,这对于开发者来说是极有价值的参考资料。"Event事件总汇资源下载" ...

    C#事件(event)使用方法详解

    事件(event)是C#中的一种机制,允许对象在发生某些情况时通知其他对象。事件(event)使用方法详解将从概念、使用方法、事件编程的优点、事件与委托的关系、事件的实现等方面进行讲解。 事件(event)的概念: 事件...

    MTK event事件分析总结

    MTK Event事件是MTK(MediaTek)平台上用于处理各种系统事件的一种机制,它涉及到从底层硬件事件到用户界面交互的多种场景。在MTK MMI(Man Machine Interface)层,事件处理是通过注册事件处理函数来实现的,以确保...

    易语言利用Event事件实现多线程暂停继续源码

    Event事件分为两种类型:自动重置事件(AutoResetEvent)和手动重置事件(ManualResetEvent)。自动重置事件在被触发后,只有一个等待的线程会被释放,而手动重置事件则会释放所有等待的线程。在实现线程暂停和继续...

    mouse_event事件

    事件的绑定通常通过`addEventListener`方法完成,该方法接受两个参数:一个是事件类型,另一个是事件处理函数。例如,在Flash中,可以这样绑定一个`MOUSE_OVER`事件: ```actionscript stage.addEventListener...

    VB Event 事件演示程序

    本项目“VB Event 事件演示程序”是专门针对VB中的事件处理机制进行的一个实例展示,旨在帮助开发者理解如何利用事件来简化编程流程。 在VB中,事件是对象对外部动作或状态变化的响应。例如,当用户点击按钮、关闭...

    C#写入事件查看器、eventLog控件使用DEMO

    在Windows操作系统中,事件查看器(Event Viewer)是一个强大的工具,用于查看系统、应用程序和安全日志中的事件。开发者可以通过编程方式将应用日志写入事件查看器,以供后期分析和故障排查。C#提供了方便的API来...

    C程序架构之事件调用机制 event

    1. **事件队列**:事件被放入一个队列中等待处理,`event.c`可能包含了事件的创建、添加到队列以及从队列中取出事件的逻辑。 2. **事件处理器**:每个事件都有一个或多个关联的处理器函数,这些函数负责处理特定...

    [数据库] Navicat for MySQL事件Event实现数据每日定期操作1

    【数据库】Navicat for MySQL事件(Event)是MySQL数据库中的一种功能,用于实现定期自动执行的任务,类似于操作系统中的计划任务。在上述情境中,Event主要应用于数据的日常管理,包括定时备份、数据清理以及状态更新...

    event 发送事件 事件管理

    event 事件机制, 游戏或者各种操作行为的事件。

    《javascript》——event对象与事件

    常见的事件类型包括: * 鼠标事件:onclick、ondblclick、onmousedown、onmouseup、onmousemove、onmouseover、onmouseout * 键盘事件:onkeydown、onkeyup * 表单事件:onsubmit、onfocus、onblur、onchange * ...

    Event Bus C# 事件总线

    首先定义一个事件接口,例如`IEvent`,然后为每种特定类型的事件创建一个实现此接口的类。接着,创建一个`EventHandler`委托来处理这些事件。以下是一个简单的示例: ```csharp public interface IEvent {} public...

    jQuery源码分析之Event事件分析

    6.1 event的包裹 浏览器的事件兼容性是一个令人头疼的问题。IE的event在是在全局的window下, 而mozilla的event是事件源参数传入到回调函数中。还有很多的事件处理方式也一样。 Jquery提供了一个 event的包裹,这个...

    js-event事件

    在JavaScript中,`Event`对象扮演着极其重要的角色,它不仅代表着一个事件的状态,还提供了处理这些事件的方法与属性,使得开发者能够轻松地实现与用户的交互。通过深入理解`Event`对象,我们可以更好地控制页面的...

    C++Event机制的简单实现

    在计算机编程领域,事件模型(Event Model)是一种常用的设计模式,它主要用于处理异步事件。尤其在GUI应用程序开发中,事件驱动的架构十分常见。本文将详细介绍如何在C++中实现一个简单的事件机制。 ##### 1. 事件 ...

    event事件的使用及说明

    【事件(event)】在Web开发中,事件是用户与网页交互的关键部分,它允许JavaScript响应用户的操作,如点击按钮...理解并熟练运用Event对象及其属性、事件句柄以及事件处理模型,是成为一名合格的前端开发者必备的技能。

    Javascript中的事件--Event对象

    事件处理的核心在于`Event`对象,这个对象包含了与事件相关的信息,如事件类型、触发事件的元素等。下面我们将深入探讨`Event`对象的关键属性和方法,以及它们在JavaScript中的应用。 ### 1. `Event`对象的基础属性...

    keybd_event,mouse_event 模拟产生键盘事件、鼠标事件的使用

    **一、`keybd_event` 函数** `keybd_event` 是用于模拟键盘输入的API函数。它接受四个参数: 1. **`wVk`**: 这是虚拟键码,表示按下或释放的键。例如,`VK_A` 对应于字母 'A' 键。 2. **`wScan`**: 这是扫描码,...

    多线程同步:事件(event)

    "事件(event)"是一种在Java和Python等多线程环境中用于线程间通信和同步的机制。事件模型允许一个线程等待特定条件发生,然后才能继续执行,而这个条件可能由另一个线程触发。在给定的“多线程同步:事件(event)”...

    QT Event 事件处理

    QT 中 QEvent 和 QKeyEvent事件的处理,其中QEvent包含QKeyEvent和QMouseEvent事件处理,在event中处理QKeyEvent事件将影响单独的QKeyEvent的事件处理函数

Global site tag (gtag.js) - Google Analytics