ボタンでdivをオーバーレイするSVGがあります。「pointer-events: none;」を設定することで、SVG を介してマウスイベントを渡すことができることを知っています。私のSVG用。ただし、これを行うと、SVG はマウスイベントを認識しなくなります。
<body>
<div id="website">
<form action="input_button.htm">
<p>
<textarea cols="20" rows="4" name="text"></textarea>
<input type="button" name="Text 1" value="show text"
onclick="this.form.text.value='Test'">
</p>
</form>
</div>
<div id="svgRect">
<svg width="1845" height="140">
<rect id="r0"></rect>
</svg>
</div>
</body>
マウスがその上にあるときにSVGが認識できるようにしたいが、クリックをその下の要素(div/ボタン/ ...)に渡す。したがって、私の SVG はホバー イベントのターゲットのみであり、ボタンはクリック イベントのターゲットである必要があります。
他のいくつかのアプローチの中で、私は次のように試しました: - 何も機能しませんでした。
.on("mousedown", function(d,i){
d3.select("#r0")
.style("pointer-events", "none");
d3.select("#website")
.style("pointer-events", "auto");}
.on("mouseup", function(d,i){
d3.select("#r0")
.style("pointer-events", "auto");
d3.select("#website")
.style("pointer-events", "none");
}
アイデアは、マウスボタンを押したときにポインターイベントを無効にし、離したときに再び有効にすることでした。
この問題の解決策または回避策を知っている人はいますか? ありがとう!