当我声明它时,将执行onclick方法

问题描述

| 我试图声明一个
onclick
方法,该方法将调用一个函数,该函数清除并重建显示的内容,其中显示了有关所单击项目的更多详细信息。问题是我尝试分配的“ 0”方法在分配时被执行,因此我看到的只是其中一项的详细视图。 如果删除
i.node.onclick
行,则会看到5个随机放置的项目,您可以将它们悬停在上面,但不能单击。 的HTML
<html>  
   <head>  
      <title>Raphael Play</title>  
      <script type=\"text/javascript\" src=\"Raphael.js\"></script>  
      <script type=\"text/javascript\" src=\"Test.js\"></script>  
      <style type=\"text/css\">  
        #map 
        {  
           width: 500px;  
           border: 1px solid #aaa;  
        }  
      </style>  
   </head>  
   <body>  
      <div id=\"map\"></div>  
   </body>  
</html>  
的JavaScript
var map;
var items = new Array();

window.onload = function() 
{  
   map = new Raphael(document.getElementById(\'map\'),500,500);  

   for(cnt = 0; cnt < 5; cnt++)
   {
      var x = 5 + Math.floor(Math.random() * 490);
      var y = 5 + Math.floor(Math.random() * 490);

      items[cnt] = new Item(x,y);

      var i = map.circle(items[cnt].x,items[cnt].y,8).attr({fill: \"#000\",stroke: \"#f00\",title: items[cnt].name}); 
      i.node.onclick = detailView(items[cnt]);
   }
} 

function Item(x,y)
{
   this.x = x;
   this.y = y;
   this.name = \"Item[\" + x + \",\" + y + \"]\";
}

function detailView(dv)
{
   map.clear();

   map.circle(250,250,25).attr({fill: \"#0f0\",title: dv.name});
}
    

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)