一. 事宜先容

事宜一样平常是用于浏览器和用户操作进行交互。
最早是 IE 和 Netscape Navigator 中涌现 ,作为分担做事器端运算负载的一种手段。
直到险些所有的浏览器都支持事宜处理。
而 DOM2级规范开始考试测验以一种复合逻辑的办法标准化 DOM 事宜。
JavaScript 有三种事宜模型:内联模型、脚本模型和 DOM2 模型。

二.内联模型

这种模型是最传统接单的一种处理事宜的方法。
在内联模型中, 事宜处理函数是 HTML标签的一个属性,用于处理指定事宜。
虽然内联在早期利用较多,但它是和 HTML 混写的 ,并没有与 HTML 分离。

//在 HTML 中把事宜处理函数作为属性实行 JS 代码

jsp使用回车键触发事件JavaScript之事宜基本 Ruby

<input type=\"大众button\"大众 value=\"大众按钮\公众 onclick=\"大众alert('Lee');\"大众 /> //把稳单双引号

//在 HTML 中把事宜处理函数作为属性实行 JS 函数

<input type=\"大众button\公众 value=\"大众按钮\"大众 onclick=\"大众box();\公众 /> //实行 JS 的函数

函数不得放到 window.onload 里面,这样就看不见了。

三. 脚本模型

由于内联模型违反了 HTML 与 JavaScript 代码层次分离的原则。
为理解决这个问题, 我

们可以在 JavaScript 中处理事宜。
这种处理办法便是脚本模型。

var input = document.getElementsByTagName('input')[0]; //得到 input 工具

input.onclick = function () { //匿名函数实行

alert('Lee');

};

通过匿名函数,可以直打仗发对应的代码。
也可以通过指定的函数名赋值的办法来实行函数(赋值的函数名不要随着括号)。

input.onclick = box; //把函数名赋值给事宜处理函数

四. 事宜处理函数

JavaScript 可以处理的事宜类型为:鼠标事宜、键盘事宜、HTML 事宜。

JavaScript 事宜处理函数及其利用列表

所有的事宜处理函数都会都有两个部分组成,on + 事宜名称,例如 click 事宜的事宜处理函数便是:onclick。
在这里,我们紧张评论辩论脚本模型的办法来构建事宜,违反分离原则的内联模式,我们忽略掉。
对付每一个事宜,它都有自己的触发范围和办法,如果超出了触发范围和办法,事宜处理将失落效。

1.鼠标事宜,页面所有元素都可触发

click:当用户单击鼠标按钮或按下回车键时触发。

input.onclick = function () {

alert('Lee');

};

dblclick:当用户双击主鼠标按钮时触发。

input.ondblclick = function () {

alert('Lee');

};

mousedown:当用户按下了鼠标还未弹起时触发。

input.onmousedown = function () {

alert('Lee');

};

mouseup:当用户开释鼠标按钮时触发。

input.onmouseup = function () {

alert('Lee');

};

mouseover:当鼠标移到某个元素上方时触发。

input.onmouseover = function () {

alert('Lee');

};

mouseout:当鼠标移出某个元素上方时触发。

input.onmouseout = function () {

alert('Lee');

};

mousemove:当鼠标指针在元素上移动时触发。

input.onmousemove = function () {

alert('Lee');

};

2.键盘事宜

keydown:当用户按下键盘上任意键触发,如果按住不放,会重复触发。

onkeydown = function () {

alert('Lee');

};

keypress:当用户按下键盘上的字符键触发,如果按住不放,会重复触发。

onkeypress = function () {

alert('Lee');

};

keyup:当用户开释键盘上的键触发。

onkeyup = function () {

alert('Lee');

};

3.HTML 事宜

load:当页面完备加载后在 window 上面触发,或当框架集加载完毕后在框架集上触发。

window.onload = function () {

alert('Lee');

};

unload:当页面完备卸载后在 window 上面触发,或当框架集卸载后在框架集上触发。

window.onunload = function () {

alert('Lee');

};

select:当用户选择文本框(input 或 textarea)中的一个或多个字符触发。

input.onselect = function () {

alert('Lee');

};

change:当文本框(input 或 textarea)内容改变且失落去焦点后触发。

input.onchange = function () {

alert('Lee');

};

focus:当页面或者元素得到焦点时在 window 及干系元素上面触发。

input.onfocus = function () {

alert('Lee');

};

blur:当页面或元素失落去焦点时在 window 及干系元素上触发。

input.onblur = function () {

alert('Lee');

};

submit:当用户点击提交按钮在<form>元素上触发。

form.onsubmit = function () {

alert('Lee');

};

reset:当用户点击重置按钮在<form>元素上触发。

form.onreset= function () {

alert('Lee');

};

resize:当窗口或框架的大小变革时在 window 或框架上触发。

window.onresize = function () {

alert('Lee');

};

scroll:当用户滚动带滚动条的元素时触发。

window.onscroll = function () {

alert('Lee');

};