【发布时间】:2014-09-23 01:48:44
【问题描述】:
我有一个项目,其中包含数百个附加到各种 html 项目的点击事件。我更喜欢将单个处理程序附加到 body 标记,它使用目标 id 上的 switch/case 来确定要运行的函数。兼容现代版本的 chrome、safari 和 firefox,以及 IE10+
简化例如
function clickHandler(e)
{
var T=e.target,eT=e.type;
if(eT=="click")
{
switch(T.id)
{
case "hH": doStuff();break;
case "hF": doDifferentStuff();break;
case ... etc
}
}
document.body.onclick=clickHandler;
我已经开始实现这个,我发现它提高了可读性和可维护性,但在我走得太远之前,我想知道是否有一些主要的缺点或原因导致这种范式不被更常用。例如,具有数百个 case 的 switch/case 是否会对性能造成巨大的拖累?
【问题讨论】:
标签: javascript javascript-events event-handling