zoukankan      html  css  js  c++  java
  • JavaScript 学习笔记— —事件委托

    <!DOCTYPE html>
    <html>
    <head lang="en">
    <meta charset="UTF-8">
    <title></title>
    <script type="text/javascript">
    
    //事件委托:利用冒泡的原理,把事件加到父级上,触发执行效果
    //好处
    //1.提高性能
    //2.新添加的元素,还会有之前的事件
    
    //event对象:
    // 事件源:不管在那个事件中,只要你操作的那个元素就是事件源
    //ie : window.event.srcElement
    // 标准下 :event.target
    //nodeName : 找到当前元素的标签名
    
    window.onload=function(){
        var oBtn=document.getElementsByTagName("input")[0];    
        var oUl=document.getElementById("ul");
        iNow=5;
        // oBtn.onclick=function(ev){
        //     var oEvent=ev || event;
        //     if(oEvent.srcElement){
        //         alert(oEvent.srcElement.value);
        //     }else{
        //         alert(oEvent.target.value);
        //     }
        // }    
    
        oBtn.onclick=function()
        {
            iNow++;
            var oLi=document.createElement("li");
            oLi.innerHTML=iNow*11111111;
            oUl.appendChild(oLi);
    
        }
    
        oUl.onmouseover=function(ev)
        {
            var oEvent=ev || event;
            //alert(oEvent.srcElement.innerHTML)// IE CHROME
            //alert(oEvent.target.innerHTML)// FF
    
            var target=oEvent.srcElement || oEvent.target;
    
            if(target.nodeName.toLowerCase()=="li")
            {
                target.style.background="yellow";
            }
        }
    
        oUl.onmouseout=function(ev)
        {
            var oEvent=ev || event;
            //alert(oEvent.srcElement.innerHTML)// IE CHROME
            //alert(oEvent.target.innerHTML)// FF
    
            var target=oEvent.srcElement || oEvent.target;
    
            if(target.nodeName.toLowerCase()=="li")
            {
                target.style.background="";
            }
        }
    
    }
    </script>
    </head>
    <body>
        <input type="button" value="按钮"> 
        <ul id="ul">
            <li>11111111</li>
            <li>22222222</li>
            <li>33333333</li>
            <li>44444444</li>
            <li>55555555</li>
        </ul>
    </body>
    </html>
  • 相关阅读:
    ArcGIS API 之 MapPoint & MultiPoint
    前台特效(6) 折叠栏目(动画效果)
    网站开发人员应该知道的61件事[转载]
    前台特效(1)鼠标改变透明度
    php 常用字符编码转换函数整理
    php导入sql文件
    前台特效(3) 编辑表格
    前台特效(2)回到顶部
    时间函数strtotime
    前台特效(4) 悬浮移动窗口(悬浮广告)
  • 原文地址:https://www.cnblogs.com/eaysun/p/4396830.html
Copyright © 2011-2022 走看看