如何在KineticJS画布中为形状添加超链接?

时间:2013-07-26 14:36:36

标签: javascript html5 canvas html5-canvas kineticjs

我在我的主页上工作,其中包含使用HTML5画布和KineticJS在屏幕中间绘制的几个形状,但我遇到了试图为每个形状添加超链接的障碍。到目前为止我的代码(不起作用)是:

midHexPoly.on('mouseover', function() {
        document.body.style.cursor = 'pointer';
      });

midHexPoly.on('mouseout', function() {
        document.body.style.cursor = 'default';
      }); //this works, the mouse changes to a pointer on 
          //mouseover, and back on mouseout

var linkTest = "http://www.google.com"
midHexPoly.on('click', function() {
    window.open = linkTest;
});

经过大量的谷歌搜索,我似乎无法找到任何解决此问题的方法,并且在Kintetic中似乎没有用于重定向或添加超链接的功能。
有没有什么办法解决这一问题?谢谢!

1 个答案:

答案 0 :(得分:1)

window.open是一种方法,因此您应该这样称呼它:window.open(linkTest);。您将找到更多信息,例如w3schools上的参数。我建议使用第二个参数(名称)来确保所有链接都在同一个新窗口中打开。

但是,如果您要在与主页相同的窗口中打开所有链接,则可以使用这段代码而不是window.openlocation.assign(linkText);

如果这些不起作用,请确保通过在回调函数中添加控制台日志来触发click事件,例如:

midHexPoly.on('click', function() {
    console.log('clicked on midHexPoly');
});

midHexPoly.on('click', function() {
    alert('clicked on midHexPoly');
});