繁体   English   中英

具有多个事件处理程序的多个元素传递参数; d3.js; 简化代码

[英]Multiple elements with multiple event handlers passing parameters; d3.js; simplify code

如何动态生成这些事件处理程序? 我想将此作为循环遍历element.length的单个语句。

    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);
    })

我不确定如何执行此操作。 谢谢。

解:

   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);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM