3

複数のオブジェクトをSVG含むマップがあります。PATHそのマップの上にオーバーレイ画像があるので、マップ上のイベントを呼び出したいときはいつでも を使用する必要がありますelementFromPoint。私の関数は、次のように構成されていました。

function CallEvent(e){

$('.overlay-image').hide(0);

var mapObj = document.elementFromPoint(e.clientX, e.clientY);   

$(mapObj).click();

$('.overlay-image').show(0);
}

マップに使用していたときは完璧に機能していましたが、現在は SVG マップを使用しています。要素全体を選択し、ユーザーがクリックした座標にあるオブジェクトを取得する必要があるSHAPEため、機能しません。elementFromPointSVGPATH

PATHこの関数を使用してそのオブジェクトを見つけることは可能ですか? すべてのPATHオブジェクトには id とクラスがあります。

最後に、SVG マップは次のように構成されます。<SVG><D><PATH></PATH></D></SVG>

4

1 に答える 1

1

jQuery Nearest Element プラグインは、必要なことを実行できます。

次のようなものを使用$.nearest({x: 100, y: 100}, 'path')して、最も近いパスを特定できます。

于 2012-12-14T23:03:31.347 に答える