0
このfiddleのようなマウスアップイベントで、異なるSVG要素のオーバーラップを検出しようとしています。マウスイベントで複数のオーバーラップSVGシェイプ要素を検出する
$('svg').on('mouseup', function(evt) {
var root = $('svg')[0];
var rpos = root.createSVGRect();
rpos.x = evt.clientX;
rpos.y = evt.clientY;
rpos.width = rpos.height = 1;
var list = root.getIntersectionList(rpos, null);
for (var i = 0; i < list.length; i++) {
if (list[i] != evt.target) {
$(list[i]).mouseup();
}
}
});
私は(としようとしたがgetIntersectionListを使用してきた四角形、円だけでなく、このfiddleのように多角形の間のmouseupに重複を検出できるようにしたいが)のみだけ矩形形状のために働くようです。
もう1つの方法は、マウスアップでルートSVG座標を取得し、SVG要素の内部の座標と一致するかどうかを確認することです。
マウスアップで複数のSVG要素シェイプの交差を検出する方法がありますか?
交差点を言うとき、実際にどの要素がカーソルの下にあるのかを意味していますか? – Ian
@Ian、はい。カーソルの下にある要素のリストを取得する。 –