【问题标题】:html5 jcanvas click function using in "for" loop got wrong在“for”循环中使用的html5 jcanvas点击功能出错了
【发布时间】:2012-10-07 06:17:29
【问题描述】:

我使用 jcanvas 插件进行 2d tagcloud 研究。 我希望我可以在画布上绘制几个标签,每个标签都链接到不同的页面。 所以,我需要一个 for 循环来显示标签, 这是我的代码。

 for(i=1;i<=5;i++){

    $("canvas").drawText({
      layer: true,
      fillStyle: "#9cf",
      strokeStyle: "#000",
      strokeWidth: 1,
      x: 100, y: 30*i,
      text: "tag"+i,
      font: "20pt 'Trebuchet MS', sans-serif",

      // Event bindings
      mouseover: function() {
        $("canvas").css({cursor: "pointer"});
      },
      mouseout: function() {
        $("canvas").css({cursor: "default"});
      },
      // Click link to open it
      click: function(layer) {
        window.open("http://www.google.com/?"+i);
      }
    });
 }

但事实证明每个标签都链接到相同的 url,这不是我期望的结果。 这里的任何人都可以帮助我!非常感谢!!!

您可以在here 进行测试。

【问题讨论】:

    标签: html canvas jcanvas


    【解决方案1】:

    添加属性 ID(或任何其他名称)并更改功能。
    ...
    font: "20pt 'Trebuchet MS', sans-serif",
    id: i,
    ...
    click: function(data) { window.open("http://www.google.com/?"+data.id); }

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-10-26
      • 1970-01-01
      • 2013-09-05
      • 2018-05-18
      • 1970-01-01
      • 2011-10-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多