javascript事件流是什么?有哪些事件流?

JavaScript017

javascript事件流是什么?有哪些事件流?,第1张

事件流描述的是从页面中接收事件的顺序,IE采用事件冒泡流,标准采用事件捕获流,最后addEventLister给出了第三个参数同时支持冒泡与捕获。

常用的事件主要有:

(1)单击事件:onclick。用户单击鼠标按键时产生的事件,同时。nclick指定的事件处理程序或代码将被调用执行.

(2)改变事件:onchange。当text或textarea元素内的字符值改变或select表格选项状态改变时发生该事件。

(3)选中事件:onselect。当text或textarea对象中的文字被选中时会引发该事件。如:

<ipnut type="text" value="默认信息”onselect=alert(”您选中T文本框中的文字”)>

(4)获得焦点事件:onfocus。用户单击text或textarea以及select对象,即光标落在文本框或选择框时会产生该事件。如:

<select name= "zhengjian" onfocus=alert(”我成为焦点”)>

(5)失去焦点事件:onblur.失去焦点事件正好与获得焦点事件相对,当text或textarea以及select对象不再拥有焦点而退出后台时,引发该事件。

(6)载人文件事件:onload,’当页面文件载人时产生该事件。onload的一个作用就是在首次载人一个页面文件时检测cookie的值,并用一个变量为其赋值,使它可以被源代码使用,本事件是window的事件,但是在HTML中指定事件处理程序时,一般把它写在<body>标记中。如:

<body onload=alert(”正在加载页面,请等待一”)>

(7)卸载文件事件:onunload。与载人文件事件。nload正好相反,当Web页面退出时引发的事件,并可更新。ookie的状态。如:

<body onunload=confirm(”你确定要离开本页?”)>

(8)鼠标镇盖事件:onmouseover, onmouseover是当鼠标位于元素上方时所引发的事件。如:

<input type= "boutton" value=”按钮”onmouseover= "window. status=‘请您注意下面的状态栏·return true">

(9)鼠标离开事件:onmouseout, onmouseout是当鼠标离开元素时引发的事件。如果和鼠标覆盖事件同时使用,可以创建动态按钮的效果。

(10)一般事件。

ondbclick:鼠标双击事件。

onkeypress:当键盘上的某个键被按下并且释放时触发的事件,要求页面内必须有激活的对象。

onkeydown:当键盘上某个键被按下时触发的事件,要求页面内必须有激活的对象。

onkeyup:当键盘上某个键被放开时触发的事件,要求页面内必须有激活的对象。

(11)页面相关事件。

onabort:图片在下载时被用户中断时触发的事件。

onbeforeunload:当前页面的内容将要被改变时触发的事件。

先提两个关键词,方便你查找更详细的分析:1)事件冒泡 2)事件捕获

然后借用一下网上的一个图:

如图:有三个圆,好比dom中的三个div,当你点击了绿色圆的同时,会有两个连带事件:

点击了蓝圆

点击了粉圆

那么当你这三个圆(div)都绑定了点击事件时,该怎么触发呢,同时触发?显然不是,这是就涉及到一开始给你的两个关键词了。

事件捕获:js会顺着文档流顺序由外往内,依次触发事件。即从DOM树的根到叶子,粉->蓝->绿

事件冒泡:js会逆着文档流顺序由内至外,一次触发事件。即从DOM树的叶子到根,绿->蓝->粉

补充一点:多数时候推荐事件冒泡,因为大多数主流浏览器都兼容两种事件,但一开始ie是不支持事件捕获的,后来ie是否支持最近没有具体了解,应该是可以设置,有需要可以百度一下,本人小菜,以上回答如有错误还请指出,谢谢。