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 个元素" />
               <span class="extraTips">(注意:在IE8及其更低版本的IE中,大于等于10000个元素时,会有“假死”现象。)</span>
            </div>
            <div id="left">
                <h4>事件绑定的示例</h4>
                <div id="leftCon" class="clearfix"></div>
            </div>
        </div>
    </body>
</html>

CSS

#container{
    border:2px solid #F00;
    width: 98%;
    margin: 10px auto;
}
#left{
    width:98%;
    padding-right:2px;
    margin-left: 3px;
    float: left;
    display:inline;
    border:2px solid #CCC;
}
#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;
}
.extraTips{
    font-size:90%;
    color:#F00;
}
.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("leftCon").innerHTML = "";
            //准备相应数量的元素
            var innerHtml = "<ul>";
            for(var i=0; i<eleSize; i++){
                innerHtml += "<li>第 "+i+" 个</li>";
            }
            innerHtml += "</ul>";
            document.getElementById("leftCon").innerHTML = innerHtml;
            
            //事件绑定测试
            $("#leftCon").find("li").click(function(){
                alert($(this).html());
            });
        }
        
});