HTML事件处理
就是嵌入到html元素中的事件处理,如:
1 | <button type="button" id="btn" onclick="alert('Hello World!')">按钮</button> |
DOM0级事件处理
即可以写在script标签中,也可以写在js文件中的事件处理方法,如:
1 | <script> |
DOM2级事件处理
即使用事件监听的方式,为DOM元素绑定事件,如:
1 | <script> |
这里分别传入了三个参数,依此为:事件名称
、事件句柄
、事件流类型
。
事件名称:是指 click、mouseover 等具体的触发条件。
事件句柄:是指触发事件后需要执行的操作。
事件流类型:包含两种,一种是事件冒泡流
(false),一种是事件捕获流
(true),而事件冒泡流的各浏览器的兼容性较好,所以一般采用事件冒泡流。
值得注意的是,这里的添加事件和删除事件需要传入相同的参数,否则无法删除事件。
IE事件处理程序
IE、Opera浏览器不支持DOM2级事件处理,它有自己的处理方法,如:
1 | <script> |
这里只需要传入两个参数,即事件名称和事件句柄,是因为IE及Opera浏览器默认只支持事件冒泡流,所以无需指定事件流类型。
同样要注意,这里的添加事件和删除事件也需要传入相同的参数,否则无法删除事件。
兼容性处理
为了兼容不同浏览器,通常需要自行编写兼容的事件处理方法,如:
1 | <script> |
如此就实现了跨浏览器兼容事件处理,调用方法:
1 | <script> |