2015-06-21 33 views
0

如何动态生成这些事件处理程序?我想把它作为一个循环遍历element.length的单个语句。多个事件处理程序传递参数的多个元素; d3.js;简化代码

d3.select("#wordcloud_0_im").on("click", function(d,i) 
    { 
     var x =1; 
     wordclouds(keyfile,start=(x-1)*wordcount,stop=x*wordcount); 
    }) 
    d3.select("#wordcloud_1_im").on("click", function(d,i) 
    { 
     var x =2; 
     wordclouds(keyfile,start=(x-1)*wordcount,stop=x*wordcount); 
    }) 
    d3.select("#wordcloud_2_im").on("click", function(d,i) 
    { 
     var x =3; 
     wordclouds(keyfile,start=(x-1)*wordcount,stop=x*wordcount); 
    }) 

我不确定如何做到这一点。谢谢。

回答

0

解决方案:

function handleElement(i) { 
     document.getElementById('wordcloud_' + i + '_im').onclick=function(d,e) { 
      wordcount = 40; 
      x=i; 
      console.log("x :" + x); 
      wordclouds(keyfile,start=(x-1)*wordcount,stop=x*wordcount); 

     }; 
    } 

    for(i=1; i<35; i++) 
     handleElement(i); 
相关问题