事件委托能够优化js性能

Posted YK学习笔记

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了事件委托能够优化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{

width: 600px;

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>

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

以上是关于事件委托能够优化js性能的主要内容,如果未能解决你的问题,请参考以下文章

深入理解-事件委托

js 事件委托代理

性能优化之-事件代理

JavaScript性能优化之事件委托

事件委托性能优化

js 原生事件委托