使用 handleEvent 回调函数

您也可以使用支持 handleEvent 函数的侦听器对象。不论所广播的事件的名称是什么,都会调用侦听器对象的 handleEvent 方法。您必须使用 if..elseswitch 语句来处理多个事件。例如,以下代码使用 if..else 语句处理 clickchange 事件:

// 定义 handleEvent 函数
// 将 evt 作为事件对象参数传递给它

function handleEvent(evt){
    // 检查事件是否为 click
    if (evt.type == "click"){
        // 如果事件为 click,则执行某些操作
    } else if (evt.type == "change"){
        // 如果事件为 change,则执行其它操作
    }
};

// 将侦听器对象注册到
// 两个不同的组件实例
// 因为该函数定义在
// "this" 对象上,所以侦听器为 this。

instance.addEventListener("click", this);
instance2.addEventListener("change", this);