2017-10-17 15 views
2

official documention of d3.zoomでこれに関する情報は見つかりませんでしたが、明らかに領域のピンチズームはGoogle ChromeとMozilla Firefoxでは機能しますが、Microsoft Internet ExplorerやEdgeでは機能しません。これは、すでに公式デモの一つで見ることができます:https://bl.ocks.org/mbostock/d1f7b58631e71fbf9c568345ee04a60ed3のピンチトゥーズームはIE/Edgeでは機能しませんか?

(奇妙なことではないtouch-action-ms-content-zooming: noneを使用して無効にすることができ、代わりにページズームがトリガされますIE11 /エッジでピンチズームを行っているが、私が望むものではありません。

私の評価で正しいですか?それについて何かできることはありますか? polyfillが存在するのでしょうか?

答えて

1

ありD3ページで(2013年から)、この上の長年のエラーレポートのようだ:、d3はイベントtouchstart.zoomを使用するように見えるソースコードから

https://github.com/d3/d3/issues/989

touchmove.zoomtouchend.zoomおよびtouchcancel.zoom

インターネットで見つけられるものから、IEはそれらのタッチイベントat allをサポートしていませんが、Edgeはそれだけをサポートしていますif the device doesn't have a keyboard。そうであれば、それはenabled manuallyである必要があります。

IEまたはEdgeでd3によって正しく処理されるタッチイベントに頼ることはできません。

しかし、この問題を修正することを目的としたポリフィルがかなりあります。私はタッチ対応のWindowsデバイスを持っていないので、私はこれらのいずれかが正しく動作かどうかをテスト、多分それら試すことができません。

+0

ポインタイベントが唯一の方法です(最後のコメントを含めてhttps://github.com/d3/d3/issues/1439も参照してください)が、悲しいことにd3のsiから実装することはもうありませんde(https://github.com/d3/d3/pull/2403)、おそらくhttps://mdn.github.io/dom-examples/pointerevents/Pinch_zoom_gestures.htmlのように実装できます – phk

関連する問題