一.事件介绍
JavaScript 有三种事件模型:内联模型、脚本模型和 DOM2 模型。
二.内联模型
//在 HTML 中把事件处理函数作为属性执行 JS 代码
<input type="button" value="按钮" onclick="alert('Lee');" /> //注意单双引号
//在 HTML 中把事件处理函数作为属性执行 JS 函数
<input type="button" value="按钮" onclick="box();" /> //执行 JS 的函数
PS:函数不得放到 window.onload 里面,这样就看不见了。
三.脚本模型
var input = document.getElementsByTagName('input')[0]; //得到 input 对象
input.onclick = function () { //匿名函数执行
alert('Lee');
};
PS:通过匿名函数,可以直接触发对应的代码。也可以通过指定的函数名赋值的方式来执行函数(赋值的函数名不要跟着括号)。
input.onclick = box; //把函数名赋值给事件处理函数
四. 事件处理函数
JavaScript 可以处理的事件类型为:鼠标事件、键盘事件、HTML 事件。
1.鼠标事件,页面所有元素都可触发
click:当用户单击鼠标按钮或按下回车键时触发。
dblclick:当用户双击主鼠标按钮时触发。
mousedown:当用户按下了鼠标还未弹起时触发。
mouseup:当用户释放鼠标按钮时触发。
mouseover:当鼠标移到某个元素上方时触发。
mouseout:当鼠标移出某个元素上方时触发。
mousemove:当鼠标指针在元素上移动时触发。
2.键盘事件
keydown:当用户按下键盘上任意键触发,如果按住不放,会重复触发。
keypress:当用户按下键盘上的字符键触发,如果按住不放,会重复触发。
keyup:当用户释放键盘上的键触发。
3.HTML 事件
load:当页面完全加载后在 window 上面触发,或当框架集加载完毕后在框架集上触发。
unload:当页面完全卸载后在 window 上面触发,或当框架集卸载后在框架集上触发。
select:当用户选择文本框(input 或 textarea)中的一个或多个字符触发。
change:当文本框(input 或 textarea)内容改变且失去焦点后触发。
focus:当页面或者元素获得焦点时在 window 及相关元素上面触发。
blur:当页面或元素失去焦点时在 window 及相关元素上触发。
submit:当用户点击提交按钮在<form>元素上触发。
reset:当用户点击重置按钮在<form>元素上触发。
resize:当窗口或框架的大小变化时在 window 或框架上触发。
scroll:当用户滚动带滚动条的元素时触发。