Javascript高级程序设计第二版第十二章--Event--笔记
今天给诸位分享一下 chapter 12 Events
所谓事件就是页面与文档窗口发生交互的瞬间。当年事件发生时它可以被预定(程序处理)。
事件有两个过程,冒泡过程,或捕获过程。
冒泡是自上而下,捕获是自下而上。
这个顺序是document -> html -> body -> onclick element
比如单击一下一个div,但浏览器不认为你只单击一个dom元素,而是div,body,html,document等这些元素。
dom一般会处理捕获或冒泡时的事件,但ie只处理冒泡时,
ie的event 处理 attachEvent(type,fn);
dom addEventListener(type,fn, true|false);
dom addEventListener(type,fn, true|false);
type:事件类型,
fn:事件处理函数
true 在捕获阶段, false 在冒泡阶段。
type:事件类型,
fn:事件处理函数
true 在捕获阶段, false 在冒泡阶段。
司徒的通用addEvent:
addEvent:function(el, type, fn ) {
if(!+"\v1") {
el['e'+type+fn]=fn;
el.attachEvent( 'on'+type, function() {
el['e'+type+fn]();
} );
}else{
el.addEventListener( type, fn, false );
}
}
if(!+"\v1") {
el['e'+type+fn]=fn;
el.attachEvent( 'on'+type, function() {
el['e'+type+fn]();
} );
}else{
el.addEventListener( type, fn, false );
}
}
这与平常的element.onclick这种有什么区别呢?
如果给element上添加两个onclick只会执行一个。但attachEvent添加两个,会从后往执行。
对应的删除事件:detchEvent() removeEventListener()
一般事件分五类:
1. UI事件,
2. 7个鼠标事件(click,dblclick,mousedown,mouseover,mousemove,mouseup,mouseout,)
3. 3个键盘事件( keypress,keydown,keyup)
4. html事件(load,resize,scroll,unload)
5 因dom变化引起的事件
1. UI事件,
2. 7个鼠标事件(click,dblclick,mousedown,mouseover,mousemove,mouseup,mouseout,)
3. 3个键盘事件( keypress,keydown,keyup)
4. html事件(load,resize,scroll,unload)
5 因dom变化引起的事件
今天大概就这么多。细节,还要在仔细斟酌。
分类:
JavaScript
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· .NET周刊【3月第1期 2025-03-02】
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· [AI/GPT/综述] AI Agent的设计模式综述