在 JS 中事件是与浏览器进行交互的主要途径,事件与 DOM 进行交互是最常见的方式,但是也可以用于非 DOM 代码中,实现自定义的事件。自定义事件的主要概念是创建一个管理事件的对象,用来删除,增加,触发事件等。事件是瞬间触发的,所以自定义事件也一样,当程序执行到某处时,触发了用户注册的事件处理程序完成这个过程。
之前我们用数组的方式来实现了队列,是否还记得在出队列后有这样一段代码:
for (i = 0; i < this.length - 1; i++) {
this.dataStore[i] = this.dataStore[i + 1];
}
我们为了删除一个元素,导致了整个数组元素的前移,显然这是非常低效的!尤其是当元素很多时。我们可以使用链表这种数据结构,来删除元素的时候而不必让后面的元素向前移动。
HTML 事件处理程序
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<title>Title</title>
<script>
function clickHander() {
alert('click');
}
</script>
</head>
<body>
<p onclick="alert(event.type)">hi jiavan</p>
<p onclick="clickHander()">handler</p>
</body>
</html>
html 事件处理程序的主要缺点 0. 可能会出现事件被触发了而事件处理程序还没有被加载
- 文档行为与文档结构耦合程度高
bower,web 包管理器
安装npm install -g bower
,官方页面http://bower.io
比如利用 bower 安装 jquery 或者 bootstrap,可以使用一下命令:
bower install jquery
bower install bootstrap