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);
...

上記は Firefox や Chrome などで動作しますが、IE6 ~ IE9 ではその宣言に問題があります。

そのため、後で別の変数を宣言し、var countryそれに URL を割り当てること を考えました。

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

次に、マウスのクリック/ダウンで呼び出します:

    st[0].onmousedown = function() {

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

    };

ただし、まったく機能しません。どうやら、各 URL をそれぞれの都市に関連付けるために、関数から適切に呼び出しを行っていないようです。私は何が欠けていますか?

4

2 に答える 2

1

この質問を締めくくるために、いくつかの試行の後、IEでclick(function(){hrefページを開くにはダブルクリックする必要があることがわかりました

上記のコードで次のことがわかりました。

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

IEが正常に動作するように変更する.click(function(){必要がありました。.mousedown(function(){

ありがとう@Zevan!乾杯

于 2012-08-15T19:19:34.670 に答える
1

私はこれをテストしていませんが、href を廃止してマウス イベントを追加する必要があると確信しています。

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

私はそれがうまくいくと確信しています。

于 2012-08-07T12:58:27.930 に答える