2012-08-07 74 views
1

虽然与Raphael.js Australia map玩弄,我试图通过在路径的末尾改变他们的属性分配的每个元素网址:URL呼叫

country.cityone = R.path("coordinates").attr({href: "cityone.html"}).attr(attr); 
country.citytwo = R.path("coordinates").attr({href: "citytwo.html"}).attr(attr); 
... 

上述作品与火狐,Chrome等,但IE6-IE9对该声明有麻烦。

所以我想var country后声明另一个变量和分配的网址连到的:

var url = {}; 
url.cityone = "cityone.html"; 
url.citytwo = "citytwo.html"; 

然后调用它的鼠标点击/下:

st[0].onmousedown = function() { 

    current && country[current] && document.getElementById(“current”).appendChild(url); 

    }; 

但是它不会在工作所有。显然,我没有正确地从该功能拨打电话,将每个URL与其各自的城市联系起来。我错过了什么?

回答

1

我没有测试过这一点,但我敢肯定,你应该废除的href和添加鼠标事件:

country.cityone = R.path("coordinates").attr(attr).click(function(){ 
    window.location.href = "cityone.html"; 
}); 

我敢肯定,将工作。在click(function(){

+0

我只是试了一下,再次IE浏览器不打开在href中提供的页面。试用IE6的笔记本电脑和IE9的桌面。在Chrome中工作正常。也许IE在解释属性时遇到了一些麻烦? – Drini 2012-08-07 13:08:24

1

就关闭这个问题,经过多次试验,我最终发现自己的IE浏览器需要双击将href页面开辟

我发现,在上面的代码:

country.cityone = R.path("coordinates").attr(attr).click(function(){ 
    window.location.href = "cityone.html"; 
}); 

我必须将.click(function(){更改为.mousedown(function(){,IE才能正常工作。

谢谢@Zevan! 干杯