2012-01-20 76 views
0

我確實需要在所有Raphael路徑上簽名。我使用了這個答案how to access id attributes of any element in raphael中發佈的解決方案,它只能在Chrome和Firefox中找到。它在Internet Explorer中完全不起作用。它甚至可以阻止加載過程。有沒有人有一個想法如何解決這個問題? 我知道IE總是很艱難,但我必須讓它在這個瀏覽器上工作。在Raphael.JS中爲Internet Explorer設置一個路徑ID

for(var i = 0; i < statePathArr.length; i++) { 
    var path = mapPaper.path(statePathArr[i].coordinates).attr({ 
     'fill' : '#EDECE7', 
     'stroke': '#666666' 
    }); 
path.node.id(statePathArr[i].name); 

回答

1

您應該使用Raphael爲您提供的內部標識。例如:

for(var i = 0; i < statePathArr.length; i++) { 
var path = mapPaper.path(statePathArr[i].coordinates).attr({ 
    'fill' : '#EDECE7', 
    'stroke': '#666666' 
}); 
path.id = statePathArr[i].name; 
} 

然後你只需要使用getById('')方法。

var getPath = paper.getById('IDoftheparh') 

這樣你就沒有使用節點,而且你正在利用raphael的跨瀏覽器功能。