携手创作,共同成长!这是我参与「掘金日新计划 · 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’,函数);
}