一、JS有三种事件模型:内联模型、脚本模型和DOM2模型。
1、内联模型
- 在HTML中把事件处理函数作为属性执行JS代码:
<input type="button" value="按钮" οnclick="alert('Lee');" /> //注意单双引号
- 在HTML中把事件处理函数作为属性执行JS函数
<input type="button" value="按钮" οnclick="box();" /> //执行JS的函数
注意:函数不得放到window.onload里面,这样就看不见了。
二、脚本模型
var input = document.getElementsByTagName('input')[0]; //得到input对象
input.onclick = function () { //匿名函数执行
alert('Lee'); };
注意:
- 通过匿名函数,可以直接触发对应的代码。
- 通过指定的函数名赋值的方式来执行函数(赋值的函数名不要跟着括号)。
input.onclick = box;
三、事件处理函数(鼠标事件、键盘事件、HTML事件)
事件处理函数 |
影响的元素 |
何时发生 |
onkeydown |
文档、图像、链接、表单 |
当按键被按下时 |
onkeypress |
文档、图像、链接、表单 |
当按键被按下然后松开时 |
onkeyup |
文档、图像、链接、表单 |
当按键被松开时 |
onload |
主题、框架集、图像 |
文档或图像加载后 |
onunload |
主体、框架集 |
文档或框架集卸载后 |
onmouseout |
链接 |
当图标移除链接时 |
onmouseover |
链接 |
当鼠标移到链接时 |
onmove |
窗口 |
当浏览器窗口移动时 |
事件处理函数 |
影响的元素 |
何时发生 |
onabort |
图像 |
当图像加载被中断时 |
onblur |
窗口、框架、所有表单对象 |
当焦点从对象上移开时 |
onchange |
输入框,选择框和文本区域 |
当改变一个元素的值且失去焦点时 |
onclick |
链接、按钮、表单对象、图像映射区域 |
当用户单击对象时 |
ondblclick |
链接、按钮、表单对象 |
当用户双击对象时 |
ondragdrop |
窗口 |
当用户将一个对象拖放到浏览器窗口时 |
onError |
脚本 |
当脚本中发生语法错误时 |
onfocus |
窗口、框架、所有表单对象 |
当单击鼠标或者将鼠标移动聚焦到窗口或框架时 |
事件处理函数 |
影响的元素 |
何时发生 |
onreset |
表单复位按钮 |
单击表单的reset按钮reset按钮 |
onresize |
窗口 |
当选择一个表单对象时 |
onselect |
表单元素 |
当选择一个表单对象时 |
onsubmit |
表单 |
当发送表格到服务器时</ |