0
我知道這個問題之前已經被問過了,我一直在嘗試使用已經提供給其他人的問題的解決方案,但是我沒有太多的運氣。我正在使用raphael.js爲Battletech製作一張星圖。地圖列出了2100多顆星。當用戶懸停在星號上時,它會顯示星號系統的名稱並將光標更改爲指針。當用戶點擊這個明星時,我會打開一個關於那個明星系統的新信息。我遇到的麻煩是確定用戶點擊了哪個星星,以便我可以提供適當的信息。我一直在使用以下URL作爲指導:How to access id attribute of any element in Raphael如何捕獲稍後使用的raphael.js對象的標題?
很難列出我試過的東西。如果我試圖檢索id,名稱或標題,我會得到未定義的。我認爲在定義點擊事件方面存在問題。
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.
}
需要讓兩部分都正確並且不知道哪個部分是錯的是痛苦。這部分看起來是否正確? '$(flare).data(star,worldList [i] [0]);' 以下告訴我未定義JQuery,使用1.7.1或最新版本。 'JQuery.data(flare,star,worldList [i] [0]);' – 2013-03-09 01:47:35
我終於有了它的工作。 ('star',worldList [i] [0]);' ''flare.click(function(){starClickReturn(this.data('star'))});' 我可以然後根據傳遞給該函數的字符串構建我的內容。 – 2013-03-09 05:40:56
太棒了!我很高興爲你找到了查爾斯! – blackhawk 2013-03-09 18:22:46