废话少说,直接奉上示例代码:
复制代码 代码如下:
javascript事件处理分为三个阶段:捕获 - 处理 - 起泡。
以点击按钮为例:
捕获阶段:由外层到内层,首先调用给window注册的click捕获阶段监听方法,然后document、body、一层层的父节点,一直到按钮本身。
处理阶段:调用按钮本身的click监听方法。
起泡阶段:从按钮开始,从内层到外层,依次调用各级父节点的起泡阶段监听方法,直到window。
但是,对于ie8及更低版本ie,不支持捕获阶段,因此捕获阶段的事件监听目前尚不通用。
通常的事件处理方法形式为:
复制代码 代码如下:
function eventhandler(e) {
e = e || window.event;
var target = e.target || e.srcelement;
... ...
}
e为事件对象,当事件触发时,作为参数传进来,但对于ie8及更低版本ie不适用,只能通过全局的event变量访问,好在不会出现同时处理两个事件的情况。
