【JavaScript高级程序设计】21、内存和性能
事件委托
<!DOCTYPE html>
<<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script type="text/javascript" src="EventUtil.js"></script>
<title>内存和性能</title>
</head>
<body>
<ul id="myLinks">
<li id="goSomewhere">Go somewhere</li>
<li id="doSomething">Do something</li>
<li id="sayHi">Say hi</li>
</ul>
<script type="text/javascript">
var list = document.getElementById("myLinks");
var item1 = document.getElementById("goSomewhere");
var item2 = document.getElementById("doSomething");
var item3 = document.getElementById("sayHi");
//可以每个事件都添加click事件,也可以是为顶级事件添加事件
EventUtil.addHandler(list, "click", function(event)
{
event = EventUtil.getEvent(event);
var target = EventUtil.getTarget(event);
switch(target.id)
{
case "doSomething":
document.title = "修改这个文件的标题";
break;
case "goSomewhere":
location.href = "http://www.baidu.com";
break;
case "sayHi":
alert("Hi");
break;
}
}
);
</script>
</body>
</html>
显示结果:

点击第一个

跳转到百度
点击第二个


第三个
根据不同的时间显示不同的结果,而且只用一个函数,这样就不会那么占内存,JavaScript的函数数量是对性能有影响的,函数的多少会决定占用内存的多少

浙公网安备 33010602011771号