事件委托能够优化js性能

<!DOCTYPE html>

<html>

 

<head>

<meta charset="UTF-8">

<title>面试题练习img居中</title>

<style type="text/css">

img {

/*display: table-cell;

vertical-align: middle;*/

}

html,body{

height: 100%;

}

div{

width600px;

height: 1600px;

display: table-cell;

vertical-align: middle;

text-align: center;

}

</style>

</head>

 

<body>

<ul>

<li id="a">1</li>

<li id="b">2</li>

<li id="c">3</li>

<li id="d">4</li>

<li id="e">5</li>

</ul>

</body>

<script type="text/javascript">

var str document.getElementsByTagName("ul")[0];

 

str.onclick function(){

var hehe = event || window.event;

var target = hehe.target || hehe.srcElement;

 

switch(target.id){

case "a":{

console.log(1);

this.style.background "orange";

break;

}

case "b":{

console.log(2);

this.style.background "orange";

break;

}

case "c":{

console.log(3);

this.style.background "orange";

break;

}

case "d":{

console.log(4);

this.style.background "orange";

break;

}

case "e":{

console.log(5);

this.style.background "orange";

break;

}

}

}

</script>

</html>

使用事件委托以后,可以不必在每个子元素上绑定事件,能够优化性能,同时对于一些动态添加进去的子元素,事件委托也要比执行回调函数绑定事件更加方便

原文地址:https://www.cnblogs.com/new-Spring/p/5839829.html