1.注册事件(绑定事件)
传统注册方式:利用on开头的事件 特点:注册事件的唯一性
方法监听注册事件:addEventListener() 特点:注册事件依次执行
eventTarget.addEventListener(type,listener[,useCapture])将指定的监听器注册到eventTarget上,当该对象触发指定事件时,就会执行处理函数
type:要监听的事件类型 比如click 不带on
listener:事件处理函数,事件发生时,会调用该函数
useCapture:可选参数,是一个布尔值,默认是false
2.删除事件(解绑事件)
divs[1].removeEventListener('click',fn);
3.dom事件流:事件发生时会在元素节点之间按照特定的顺序传播,这个传播过程即dom事件流
dom事件流分为三个阶段:
1.捕获阶段
2.当前目标阶段
3.冒泡阶段
4.事件对象
var div=document.quarySelector('div');
div.οnclick=function(event){}
1.event就是一个事件对象,写到我们侦听函数的 小括号里面 当形参来看
2.事件对象只有有了事件才会存在,他是系统给我们自动创建的,不需要我们传递参数
3.事件对象是我们事件的一系列相关数据的集合 跟事件相关的 比如鼠标点击里面就包含了鼠标的相关信息
4.这个事件对象可以自己命名
5.事件委托:将事件绑定当前元素的父元素上,这时点击当前元素时,就会执行父元素上绑定的事 件处理函数
好处:父元素代理子元素的事件,子元素可以动态添加,不用频繁绑定事件
作用:只操作一次DOM
6.禁止选中文字和禁止鼠标右键
contextmenu然后e.preventDefault
禁止鼠标选中:selectstart然后e.preventDefault
键盘事件
onkeyup 键盘松开时触发
传统写法:
document.οnkeyup=function(){
console.log("我谈起了)
}
现在写法:
document.addEventListener('keyup',function(){
console.log("我谈起了)
})
7.排他思想
如果有同一组元素,我们想要某一个元素实现某种样式,需要用到循环的排他思想算法
1.所有元素全部清除样式
2.给当前元素设置样式