第二阶段第四周第13章事件

1、事件流

1.1事件冒泡

IE的事件流叫做事件冒泡,即事件开始时由嘴具体的元素接收,然后逐级向上传播到较为不具体的节点。

1.2事件捕获

不太具体的节点应该最早接收到事件

1.3DOM事件流

事件流爆款三个阶段:事件捕获阶段、处于目标阶段和事件冒泡阶段。

2、事件处理程序

2.1HTML事件处理程序

2.2DOM0级事件处理程序

将一个函数赋值给一个事件处理程序属性

2.3DOM2级事件处理程序

定义了两个方法
addEventListener() 和 removeEvenListener() 所有节点都包含这两个方法:接收3个参数:要处理的事件名、作为事件处理程序的函数和一个布尔值,最后这个布尔值true,表示在捕获阶段调用事件处理程序;如果false,表示在冒泡阶段调用事件处理程序

2.4IE事件处理程序

attachEvent() detachEvet()

2.5跨浏览器的时间处理程序

3、事件对象

在触发DOM上的某个事件时,会产生一个对象event,这个对象中包含所有与事件有关的信息。包括事件的元素、事件的类型以及其他与特定事件相关的信息。

3.1DOM中的事件对象
var but = document.getLivePusherById("mybtn");
        btn.onclick = function(event){
            alert(event.type);   //"click"
        },
        btn.addEventListener("click", function(event){
            alert(event.type);  //click
        }, false)
3.2IE中的事件对象

要访问IE中的event对象有几种不同的方式,取决于指定事件处理程序方法。

3.3跨浏览器的事件对象

getEvent()、getTarget()、preventDefault()、stopPropagation()

4、事件类型

UI事件,当用户于页面上的元素交互式触发
焦点事件,当元素活的或失去焦点时触发
鼠标事件,当用户通过鼠标在页面上执行操作时触发
滚轮事件,当使用鼠标滚轮时触发
键盘事件,当用户通过剪片在页面上执行操作时触发
合成事件,当IME输入字符时触发
变动事件,当底层DOM结构发生变化时触发
变动名称事件,当元素或属性名变动时触发

4.1UI事件

load事件,当页面完全加载后,就会触发window上面load事件
unload事件,这个事件在文档完全卸载后出阿发
resize事件,当浏览器窗口被调整到一个新的高度或宽度时,就会触发resize事件
scroll事件

4.2焦点事件

焦点事件会在页面获得或失去焦点时触发
方法 document.hasFocus() document.activeElement属性
blur:在元素失去焦点时触发
DOMFocusIn:在元素获得焦点时触发
DOMFocusOut:在元素失去焦点时触发
focus:在元素活的焦点时触发
focusin:在元素活的焦点时触发
focusout:在元素失去焦点时触发

4.3鼠标与滚轮事件

click:在用户单击主鼠标按钮时触发或者按下回车键时触发
dblclicl:在用户双击主鼠标时触发
mousedown:在鼠标按下任意鼠标触发
mouseenter:在鼠标光标从元素外部首次移动到元素范围之内时触发
mouseleave:在位于元素上方的鼠标光标移动到元素范围之外时触发
mousemove:当鼠标指示在元素内部移动时重复地触发
mouseout:在鼠标指针位于一个元素上方,然后用户将其移入另一个元素时触发
mouserover:在鼠标指针位于一个元素外部,然后用户将其首次移入另一个元素边界之内时触发。
mouseup:在用户释放鼠标按钮时触发

4.4键盘与文本事件

keydown:当用户按下键盘上的任意键时触发
keypress:当用户按下键盘上字符键时触发
keyup:当用户释放键盘上的键时触发

4.5复合事件
4.6变动事件
4.7HTML5事件

contextmenu事件 beforeunload事件 DOMContentLoaded事件 readystatechange事件 pageshow事件 pagehide事件 hashchange事件

4.8设备事件
4.9触摸与手势事件

5、内存和性能

5.1事件委托
5.2移除事件处理程序

6、模拟事件

6.1DOM中的事件模拟
6.2IE中的事件模拟

你可能感兴趣的:(第二阶段第四周第13章事件)