DOM0级onclick事件操作问题与DOM2级实现问题方案

<!doctype html>
<html>
<head>
<meta charset="utf-8" />
<title>测试</title>
<style type="text/css">
body{ font-family:"Helvetica","Arial",serif;
color:#333;
background-color:#ccc;
margin:1em 10%;
}
h1{ color:#333;
 background-color:transparent;
 }
 a{ color:#60; background-color:transparent; font-weight:bold; text-decoration:none;}
 ul{ padding:0;}
 li{ float:left;
 padding:1em;
 list-style:none;
  }
  img{ display:block;
  clear:both;
   }
 


</style>
</head>
<body><!-- background-color:transparent; 背景颜色-->
<h1>Snapshots</h1>
<ul>
<li>
<a href="../Pictures/44f39c9fbda334ac0465dcb9daf20920e2000482cc3c-vFqdh3_fw580.jpg" title="zhendeceshi" id="Td">Fireworks</a>
</li>
<li>
<a href="../Desktop/新建文件夹/7.png" title="dierci" id="Td">Coffee</a>
</li>
<li>
<a href="../Desktop/新建文件夹/新建文件夹 (4)/video_20160424_092705.mp4" title="woerzi" id="Td">Rose</a>
</li>
<li>
<a href="多项目整合营销.png" title="heqianmianyiyang" id="Td">Big Ben</a>
</li>

</ul>
<img src="images/place.gif" alt="my image gallery" width="436" height="209" id="placheolder" />
<script>

 function YY(lilike){
   var aNd= lilike.getAttribute("href");
   var iRd=document.getElementById("placheolder");
   iRd.setAttribute("src",aNd);
  }
 
  var eRy=document.getElementsByTagName("a");
  for(var i=0;i<eRy.length;i++){
  eRy[i].onclick=function(){
   YY(this); //写了方法解决了问题,但我也不知道是怎么做到的。
   return false;
  
  
  
   }}
/*var cDy={
 //添加句柄
 Wanna:function(element,type,handler){
       if(element.addEventListener){
    element.addEventListener(type,handler,false);
    
    
    }else if(element.attachEvent){
     element.attachEvent('on'+type,handler);
     
     }else{
      elemment['on'+type]=handler;
      
      }
    
  
  
  }
 }
cDy.Wanna(eRy,'click', YY(this));*/


</script>

</body>
</html>


虽然把问题解决了,但是还是不了解具体哪个方式解决问题的关键,还要DOM2不知道怎么解决这些问题,已经试了好多次了,可能是需要加个循环,但我想知道为什么加了循环后就可以实现方案了。



乱也
浏览 1238回答 2
2回答

stone310

for循环遍历eRy,将eRy上每一项都绑定click事件,具体事件触发的时候,再执行当前触发项
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript