第15章 事件处理机制


JavaScript提供了完备的事件机制,允许HTML页面实现良好的用户交互。Window、表单、键盘、鼠标、媒介(img、audio、video、embed、object)事件

15.1 基本事件模型
HTML5 事件
HTML DOM事件
 (1) 事件绑定HTML元素onxxxxx属性上(缺点:修改html元素;优点:可传入参数如this、event等)
 (2) 事件绑定DOM对象onxxxxx属性上(优点:绑定代码写在脚本中,不用修改html内容,脚本可单独写入js文件)
html5 Window、表单、键盘、鼠标52常用事件
Window事件(适用于body标签) 表单事件(适用于所有HTML5元素,常用表单元素) 鼠标事件(适用于所有HTML5元素)
onbeforeonload 在文档加载之前 onsubmit 当提交表单时 onclick 当单击鼠标时
onload 当文档加载时 onforminput 当表单获得用户输入时 ondblclick 当双击鼠标时
onunload 当用户离开文档时 oninput 当元素获得用户输入时 onmousedown 当按下鼠标按钮时
ononline 当文档在线时 onformchange 当表单改变时 onmousemove 当鼠标指针移动时
onoffline 当文档离线时 onchange 当元素改变时 onmouseenter 当鼠标指针移动到元素上时触发
onfocus 当窗口获得焦点时 onfocus 当元素获得焦点时 onmouseover 当鼠标指针移到元素之上
onblur 当窗口失去焦点时 onblur 当元素失去焦点时 onmouseleave 当鼠标指针移出元素时触发
onerror 当错误发生时 oninvalid 当元素无效时 onmouseout 当鼠标从某元素移开
onpageshow 当窗口可见时 onselect 当选取元素时 onmouseup 当松开鼠标按钮时
onpagehide 当窗口隐藏时 oncontextmenu 当触发上下文菜单时 onwheel 当转动鼠标滚轮时
onhaschange 当文档改变时 onsearch 搜索域输入文本时 ondrag 当拖动元素时
onresize 当调整窗口大小时 键盘事件(适用于所有HTML5元素) ondragstart 当拖动操作开始时
onmessage 当触发消息时 onkeydown 当按下按键时 ondragend 当拖动操作结束时
onbeforeprint 在文档打印之前 onkeyup 当松开按键时 ondragenter 当元素被拖动至有效的拖放目标时
onafterprint 在打印文档之后 onkeypress 当按下并松开按键时 ondragover 当元素被拖动至有效拖放目标上方时
onpopstate 当窗口历史记录改变时 剪贴板事件 ondragleave 当元素离开有效拖放目标时
onredo 当文档执行redo时 oncopy 拷贝元素内容 ondrop 当被拖动元素正在被拖放时
onstorage 当WebStorage加载时 oncut 剪切元素内容 onscroll 当滚动元素的滚动条时
onundo 当WebStorage区域更新时 onpaste 粘贴元素内容
 (3) 事件处理函数和关键字this
 (4) 测试this关键字
 (5) 使用return false改变默认行为
 (6) 在代码中绑定事件(.onxxxxx = xxxxxhandler;)
15.2 Internet Explorer的事件模型
 (1) 使用script for绑定事件处理器(IE)
 (2) 使用addEventListener方法执行绑定
 (3) 使用addEventListener方法执行多次绑定
 (4) 访问事件对象
 (5) 将event对象作为参数传入
 (6) 事件冒泡(从内向外冒泡)
 (7) 阻止事件冒泡(event.cancelBubble=true;)
 (8) 事件重定向机制
 (9) 事件重定向机制2
 (10) drag
 (11) returnValue
15.3 DOM的事件模型
 (1) 添加事件监听(addEventListener)
 (2) 绑定事件处理器(.onclick = clickHandler;)
 (3) 跨浏览器访问事件的方法
 (4) 阻止事件传播(event.stopPropagation())
 (5) 拖放效果
 (6) 转发事件(.dispatchEvent(e))
 (7) 阻止事件的默认行为(event.preventDefault())
 (8) 阻止事件的默认行为2

返回目录