事件
是啥:编程系统内发送的动作
点击动作:注册事件
语法:元素.addEventListener('事件', 事件处理函数)
元素可以注册同名事件
元素注册之后,不会立即触发
页面中任何标签元素都可以注册事件
事件既可以通过用户交互来触发,也可以使用代码主动触发
三要素
1.事件源: 哪个元素的事件触发了
2.事件(类型,名) : click mouseenter
3.事件处理函数:事件触发了要做啥
使用定时器经验
在每次开启定时器之前,先把之前开启的定时器给关闭掉
clearInterval(timerId)
timerId = setInterval(xxxx)
事件类型:
click 点击事件
mouseenter mouseleave 鼠标移入移出事件
mouseover mouseout 后面讲
focus blur 获取和失去焦点事件
keydown keyup键盘摁下弹起事件
input 输入事件
事件类型不能任意添加,系统会根据用户的操作触发对应的类型的事件
注意事项:
表单元素的值通过vaule去获取
常规元素的值通过innerHTML修改/获取,一般获取双标签中拼接的内容
字符串有length属性
area有maxlength属性,控制用户可以输入多少个字
遇到伪数组:需要循环遍历,不能直接添加注册事件,需要给每个i注册
事件版本-拓展(了解)
L0 使用on方式来注册事件
btn.onclick = function(){}
缺点:给同一个元素注册 同一个事件会有覆盖问题
L2 使用addEventListener方式注册事件
使用此方式绑定的事件不会自动触发
存在兼容问题,IE678不识别
可以绑定多个同名事件
经验值
if判断里面如果是 === true 直接省略不写
如果是===false 省略不写,还要在前面加 ! 取反
高阶函数
函数的使用方式: 把函数当成值来使用
使用方式:把函数赋值给变量(也叫函数表达式)
回调函数:把一个函数作为参数传递给另一个函数,该函数就是个回调函数(callback)
环境对象 this
在事件处理函数中,this指向事件源
this更灵活
排他思想
先干掉所有人,在复活我自己