JS的原生事件

javascript原生的事件包括事件流、处理函数、事件对象等。而在兼容性也有问题。

1事件流

事件流是ie和Netscape提出来的,但是两个公司提出的事件流确实刚好相反的。ie是事件冒泡,Netscape是事件捕获。

ie会从触发事件的元素一直往上冒泡直到document元素。

Netscape则是从document元素开始往下传播一直到触发事件的元素

2事件处理函数
这里有3种方法:

DOM元素绑定事件,

HTML标签内绑定事件,

事件监听绑定事件

我就不一一介绍了。

3事件对象

在js中所有的事件对象都继承自Event。

在不同的浏览器中Event对象还是有区别的。

但是属性和方法还是公用的:

bubbles 是否冒泡

cancelable 是否可以取消默认行为

currentTarget 目前元素

target 目标元素

defaultPrevented 是否已被阻止默认行为

type 事件类型

eventPhase 事件流哪个阶段

detail 信息

trusted js创建的为false,浏览器创建为true

view 等同于window

preventDefault() 阻止默认行为

stopPropagation() 阻止冒泡和捕获

stopImmediatePropagation() 立即阻止冒泡和捕获

但是ie8又不同了,它的事件对象是这样的:

cancelBubble 是否取消冒泡

returnValue 返回值

srcElement 目标元素

type 事件类型

还有其他的一些事件,如:

load:页面、img图像、所有框架、嵌入内容加载完后在object元素触发。

unload:离开页面时触发

resize:调整浏览器窗口大小

scroll:滚动事件

focus:得到焦点触发

blur:失去焦点触发

鼠标事件:

click:点击

dblclick:双击

mousedown/mouseup:按下抬起

mouseenter:鼠标移入

mouseleave:鼠标移出

mouseover:鼠标经过

mousemove:鼠标在元素内移动

在DOM标准中还有这些

clientX、clientY:当前位置

detail 单击次数

ctrlKey

altKey

metaKey

shiftKey

pageX、pageY

screenX、screenY 等等。

学的不精,总结的不到位。还请见谅。

你可能感兴趣的:(JS的原生事件)