一、事件简介
事件一般是用于浏览器和用户操作进行交互。
JavaScript 有三种事件模型:内联模型、脚本模型和 DOM2 模型。
二、事件模型
1、内联模型
这种模型是最传统接单的一种处理事件的方法。在内联模型中,事件处理函数是 HTML标签的一个属性,用于处理指定事件。虽然内联在早期使用较多,但它是和 HTML 混写的,并没有与 HTML 分离。
//在 HTML 中把事件处理函数作为属性执行 JS 代码
<input type="button" value="按钮" οnclick="alert('Lee');" />//注意单双引号
//在 HTML 中把事件处理函数作为属性执行 JS 函数
<input type="button" value="按钮" οnclick="box();" />//执行 JS 的函数
PS:函数不得放到 window.onload 里面,这样就看不见了。其实这里就是一个代码加载顺序的问题。在执行方法之前要保证方法已经被加载
2、脚本模型
由于内联模型违反了 HTML 与 JavaScript 代码层次分离的原则。为了解决这个问题,我们可以在 JavaScript 中处理事件。这种处理方式就是脚本模型。
var input = document.getElementsByTagName('input')[0]; //得到 input 对象
input.onclick = function () { //匿名函数
alert('Lee');
};
//input是承载单击事件的标签对象 onclick是事件处理函数 function(){};是事件执行函数,单击后执行这个方法
PS:通过匿名函数,可以直接触发对应的代码。也可以通过指定的函数名赋值的方式来执行函数(赋值的函数名不要跟着括号)。
input.onclick = box; //把函数名赋值给事件处理函数 注意这里不能写成input.onclick = box();//这样的话不用单击就自动执行了