JSFiddle - React, Tailwind, and code Playground
by diguage
HTML
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>创建元素的内存消耗测试</title>
</head>
<body>
<div id="container" class="clearfix">
<h3>创建元素的内存消耗测试</h3>
<div >
<h4>点击按钮,测试创建元素的内存消耗</h4>
<input type="button" id="ele_100" value="100 个元素" />
<input type="button" id="ele_1000" value="1000 个元素" />
<input type="button" id="ele_10000" value="10000 个元素" />
<input type="button" id="ele_100000" value="100000 个元素" />
</div>
<div id="right">
<h4>创建元素的示例</h4>
<div id="rightCon" class="clearfix"></div>
</div>
</div>
</body>
</html>
CSS
#container{
border:2px solid #F00;
width: 98%;
margin: 10px auto;
}
#right{
width:98%;
float: right;
margin-right:3px;
display:inline;
border:2px solid #555;
}
#container ul{
list-style-type: none;
}
#container li{
margin:1px 1px;
width: 86px;
padding: 2px 2px;
display: inline-block;
background-color: #8BD400;
border: 1px solid #486B02;
}
.clearfix{*zoom:1;}.clearfix:after{height:0;content:" ";clear:both;display:block;font-size:0;visibility:hidden;}
JavaScript
$(document).ready(function(){
$("input[id^='ele_']").click(function(event){
bindVsDelegate($(event.target).attr("id").substring(4));
});
//测试不同数量元素下,事件绑定和事件委托的耗时情况
function bindVsDelegate(eleSize){
//初始化。效果不明显,注释掉。
//document.getElementById("rightCon").innerHTML = "";
//准备相应数量的元素
var innerHtml = "<ul>";
for(var i=0; i<eleSize; i++){
innerHtml += "<li>第 "+i+" 个</li>";
}
innerHtml += "</ul>";
document.getElementById("rightCon").innerHTML = innerHtml;
}
});