javascript:向onclick中声明的闭包函数添加参数

时间:2011-06-09 10:32:55

标签: javascript onclick closures

我有一个棘手的问题。 我使用DOM创建一个表。 创建此网格后,我会根据从数据库中获取的某些“规则”填充每个单元格,使其呈现红色或绿色。 在我的代码中,我为每个“规则”循环整个网格一次,因此有时候一个单元格可以被多次着色(但这不是问题)。 在同一个循环中,我给每个绿色单元格一个onclick函数,使用闭包传递规则id(对于每个整个网格循环,这个id显然是唯一的,正如我所说,每个规则都重复这个)。我的问题是,我想跟踪规则的每个id,其中绿色的单元格为绿色。在这一刻,我只能跟踪给我的细胞着色的规则的最后一个id。 这是代码:

//here is the cycle and other operations to create the cell element and colouring it green

     //this is the function that binds the rule id to the onclick event, 
       passing it to a separate function
     pickedCell.onclick=(function(){
            var current_id_policy=id_policy

            return function(){policyToString(current_id_policy);
            }
            })();


      //this is the function called
      function policyToString(id_policy){
         alert("Rule n."+id_policy);
      }

正如我所说,我的目标是跟踪每个id绿色单元格规则的policyToString函数。我在网上搜索,但可能我不太喜欢那种(也许!)高级编码。有什么线索吗?

0 个答案:

没有答案