JS初级事件驱动

134 阅读3分钟

携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第22天juejin.cn/post/712312…

本章目标

1、事件驱动概述

2、事件绑定方式

3、事件类型

4、事件对象

5、

事件驱动概述

当事件发生的时候我们就可以做某些事

事件后面绑定的函数也叫回调函数

DOM是ECMAscript的标准

事件:窗体、对象、鼠标、键盘动作称为事件

例如:鼠标单击事件、载入时间、按下键盘事件

事件驱动过程:

1、        首先在这个对象上绑定这个事件

2、        其次,又在这个对象上发生了这件事情

3、        最后,系统(js解释器)自动调用处理函数进行响应。

事件绑定方式(主要有有三种)

说明:事件绑定方法不点击不调用

1、onclick=”函数调用”  这是直接写在html标记里 当作元素节点的属性来用

this就是当前触发函数的那个元素节点对象,也就是绑定了函数的那个div。用this必须在调用的时候onclick=“js(this)”当作参数传过来。

2、对象名●属性名=function(){}    在js里绑定事件

●onclick=test; 不加()时是点击时才发生这个事件//在这之前,有一个函数,在这里把对象进行绑定函数,test就是函数的函数名

 

在{}里直接写事件  要不然=后面就写函数名,要不然就写函数

在这里面可以直接用this,就代表触发这个函数的div  该方法实现了js和html分离,如果控制的正好是那个对象,就可以用this,如果是别的,就不能用this,就照常找那个节点

循环绑定

是循环结束之后函数才执行的,所以那个i是循环结束之后的i,i这时候已经是是4

<!利用this直接进行传值>

你好

携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第20天juejin.cn/post/712312…

function text(c){    //这里的c是this。上面this当作实参传了进来

    c.style.color=’red’;//相当于this.style.color=’red’;而this指得就是调用这个函数的元素节点div

}

3、对象名.addEventListener(“事件名”,函数名,捕捉过程true/冒泡过程false)事件监听)

第一个参数是事件名(click)这里的事件名不带on

第二个函数名是匿名函数,就是要触发的那个函数

第三个参数基本都省略了  可以设置事件流,默认的事件事件流都是冒泡的方式

true 时捕获, false 时冒泡。

事件监听是不管你有没有触发,浏览器一直在监听,你点的时候就触发了,相当于对象一直在问触发了吗?触发了吗?

 

Ie6/7/8的兼容方式是:对象名●attachEvent(“on事件名”,函数);

If(Window●addEventListener){    //判断是否支持addEventListener

    对象名●addEventListener(’不带on事件名’,函数);

}else{

    对象名●attachEvent(’click’,函数);

}