事件:
1、事件周期:3个
1、捕获阶段:由外向内,记录着要发生的事件有哪些
2、目标元素优先触发:目标元素->实际点击的那个元素
3、冒泡阶段:由内向外,依次触发之前记录着的事件
2、获取到事件对象event
主流:事件函数内写一个形参,就会自动得到了
老IE:event;
兼容:event;
可以干什么?
1、获取鼠标的位置
相对于屏幕:e.screenX/Y
相对于文档显示区域:e.clientX/Y
相对于页面:e.pageX/Y
2、阻止冒泡:
主流:e.stopPropagation();
老IE:e.cancelBubble=true;
兼容:e.cancelBubble=true;
3、事件委托:利用冒泡
优化:绑定的事件越多,网站的性能越差
为什么:因为每绑定一个事件,相当于就创建了一个事件对象
把事件绑定在父元素身上:主要学会找到目标元素
主流:e.target;
老IE:e.srcElement;
兼容:e.srcElement;
事件内可以淘汰了this,但是淘汰不完
搭配上判断标签名:xx.nodeName; - 得到全大写的标签名
4、阻止浏览器的默认行为
主流:e.preventDefault();
老IE:e.returnValue=false;
新事件:
1、右键事件 - oncontextmenu
2、键码事件 - onkeydown/press/up
5、获取键盘键码:e.keyCode;