4

SVGからズームを完全に削除しようとしています。

zoom = d3.behavior.zoom()
    .x(userNodesScaleX)
    .y(userNodesScaleY)
    .on("zoom", zoomed);
userMapSvg.call(zoom);

これにより、SVG の上部に 'rect.background' が追加され、マウス イベントが SVG 内の他の要素に到達するのを防ぎます。

そこで、ズームを完全に削除することにしました。イベントを削除し、その矩形を削除します。どうやってやるの?

現在のコードは

removeZoom = d3.behavior.zoom()
    .on("zoom", null);

これは機能しません。イベントを切り替えるだけです。

4

3 に答える 3

5

今後のズームによるページの変換を停止するには、リスナーを削除します。

zoom.on("zoom", null)

以前のズーム変換を元に戻すには:

zoom.scale(1).translate([0,0]).event(userMapSvg)

http://bl.ocks.org/1wheel/6414125

ブロックの上部にあるボタンは、両方の動作を示しています。

どちらも機能しない場合、または探しているものでない場合は、問題の実際の例を投稿すると非常に役立ちます。zoom のドキュメントも参照してください。

于 2013-09-02T05:11:41.200 に答える
0

試す

userMapSvg.on(".zoom", null);
于 2016-04-11T05:30:31.267 に答える