0

我知道以前有人问过这个问题,我一直在尝试使用为其他人的问题提供的解决方案,但我运气不佳。我正在使用 raphael.js 为 Battletech 构建星图。该地图列出了超过 2100 颗星。当用户将鼠标悬停在星上时,它会显示星系统的名称并将光标变为指针。当用户点击星星时,我会打开一个新的 div,其中包含有关该星星系统的信息。我无法完成的是确定用户单击了哪个星,以便我可以提供适当的信息。我一直在使用以下 URL 作为指南: 如何访问 Raphael 中任何元素的 id 属性

很难列出我到底尝试了什么。如果我尝试检索 id、name 或 title,我会得到未定义。我认为我定义点击事件的方式存在问题。

var flare = starfieldGlow.circle(cX, cY, 2).attr({'fill' : starMatch , 'stroke' : '#000000' , 'title' : worldList[i][0] , 'cursor' : 'pointer'});
flare.node.setAttribute('id',"star"+i);
flare.click(function() { starClickReturn() });
glowHolder.push(flare);

function starClickReturn() {
    $('#starExplorer').show();
    alert(this.id);   -   Tried many variants here.
}
4

1 回答 1

1

使用 jQuery 创建您的数据对象并将它们与每个星相关联。然后在点击函数过程中显示具体数据。此过程与jQuery each结合使用,可能对您有用。

于 2013-03-08T16:17:30.377 回答