JavaScript的事件入门
2013-02-03 14:26
197 查看
JavaScript 事件是由访问Web 页面的用户引起的一系列操作,例如:用户点击。当用户
执行某些操作的时候,再去执行一系列代码。
一.事件介绍
事件一般是用于浏览器和用户操作进行交互。最早是IE 和Netscape Navigator 中出现,
作为分担服务器端运算负载的一种手段。直到几乎所有的浏览器都支持事件处理。而DOM2
级规范开始尝试以一种复合逻辑的方式标准化DOM 事件。IE9、Firefox、Opera、Safari 和
Chrome 全都已经实现了“DOM2 级事件”模块的核心部分。IE8 之前浏览器仍然使用其专
有事件模型。
JavaScript 有三种事件模型:内联模型、脚本模型和DOM2 模型。
二.内联模型
这种模型是最传统接单的一种处理事件的方法。在内联模型中,事件处理函数是HTML
标签的一个属性,用于处理指定事件。虽然内联在早期使用较多,但它是和HTML 混写的,
并没有与HTML 分离。
PS:函数不得放到window.onload 里面,这样就看不见了。
三.脚本模型
由于内联模型违反了HTML 与JavaScript 代码层次分离的原则。为了解决这个问题,我
们可以在JavaScript 中处理事件。这种处理方式就是脚本模型。
PS:通过匿名函数,可以直接触发对应的代码。也可以通过指定的函数名赋值的方式
来执行函数(赋值的函数名不要跟着括号)。
四.事件处理函数
JavaScript 可以处理的事件类型为:鼠标事件、键盘事件、HTML 事件。
PS:所有的事件处理函数都会都有两个部分组成,on + 事件名称,例如click 事件的事
件处理函数就是:onclick。在这里,我们主要谈论脚本模型的方式来构建事件,违反分离原
则的内联模式,我们忽略掉。
对于每一个事件,它都有自己的触发范围和方式,如果超出了触发范围和方式,事件处
理将失效。
1.鼠标事件,页面所有元素都可触发
2.键盘事件
3.HTML 事件
执行某些操作的时候,再去执行一系列代码。
一.事件介绍
事件一般是用于浏览器和用户操作进行交互。最早是IE 和Netscape Navigator 中出现,
作为分担服务器端运算负载的一种手段。直到几乎所有的浏览器都支持事件处理。而DOM2
级规范开始尝试以一种复合逻辑的方式标准化DOM 事件。IE9、Firefox、Opera、Safari 和
Chrome 全都已经实现了“DOM2 级事件”模块的核心部分。IE8 之前浏览器仍然使用其专
有事件模型。
JavaScript 有三种事件模型:内联模型、脚本模型和DOM2 模型。
二.内联模型
这种模型是最传统接单的一种处理事件的方法。在内联模型中,事件处理函数是HTML
标签的一个属性,用于处理指定事件。虽然内联在早期使用较多,但它是和HTML 混写的,
并没有与HTML 分离。
//在HTML 中把事件处理函数作为属性执行JS 代码 <input type="button" value="按钮" onclick="alert('Lee');" /> //注意单双引号 //在HTML 中把事件处理函数作为属性执行JS 函数 <input type="button" value="按钮" onclick="box();" /> //执行JS 的函数
PS:函数不得放到window.onload 里面,这样就看不见了。
三.脚本模型
由于内联模型违反了HTML 与JavaScript 代码层次分离的原则。为了解决这个问题,我
们可以在JavaScript 中处理事件。这种处理方式就是脚本模型。
var input = document.getElementsByTagName('input')[0]; //得到input 对象 input.onclick = function () { //匿名函数执行 alert('Lee'); };
PS:通过匿名函数,可以直接触发对应的代码。也可以通过指定的函数名赋值的方式
来执行函数(赋值的函数名不要跟着括号)。
input.onclick = box; //把函数名赋值给事件处理函数
四.事件处理函数
JavaScript 可以处理的事件类型为:鼠标事件、键盘事件、HTML 事件。
PS:所有的事件处理函数都会都有两个部分组成,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'); };
相关文章推荐
- JavaScript 事件入门知识
- JavaScript事件编程入门案例和对对象属性的遍历
- JavaScript入门之事件、cookie、定时等
- javascript 入门事件的
- JavaScript入门之document.write,对事件做出反应onclick
- 第一百一十九节,JavaScript事件入门
- JavaScript事件编程入门案例和对对象属性的遍历
- JavaScript--事件入门(24)
- javascript 入门经典--笔记10 -- event事件
- JavaScript 事件入门
- JavaScript--事件入门(24)
- JavaScript入门指南---(八)、响应事件
- javascript入门笔记5-事件
- JavaScript学习11:事件入门
- javascript入门篇之事件处理
- JavaScript事件---事件入门
- javaScript入门(二) 常用事件
- JavaScript DOM编程基础精华01(DOM入门,DOM模型和获取页面元素,事件,window对象的方法)
- javaScript入门之常用事件
- JavaScript 从入门到放弃(一)事件委托和使用innerHTML添加元素