Skip to content

Commit 88ae6c6

Browse files
committed
Fix d3#1373 - suppress touchstart on drag.
This is not ideal because it disables clicking on draggable links, but as we are forced to suppress the touchstart event (before any movement) in order to disable touch-to-drag or pinch-to-zoom, I think this is the only option. Or, we might dispatch a synthetic click event if the touchstart is prevented.
1 parent 5fd964b commit 88ae6c6

3 files changed

Lines changed: 10 additions & 9 deletions

File tree

d3.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1038,10 +1038,10 @@ d3 = function() {
10381038
}
10391039
var d3_event_dragSelect = d3_vendorSymbol(d3_documentElement.style, "userSelect");
10401040
function d3_event_dragSuppress(type) {
1041-
var selectstart = "selectstart." + type, dragstart = "dragstart." + type, click = "click." + type, w = d3.select(d3_window).on(selectstart, d3_eventPreventDefault).on(dragstart, d3_eventPreventDefault), style = d3_documentElement.style, select = style[d3_event_dragSelect];
1041+
var touchstart = "touchstart." + type, selectstart = "selectstart." + type, dragstart = "dragstart." + type, click = "click." + type, w = d3.select(d3_window).on(touchstart, d3_eventPreventDefault).on(selectstart, d3_eventPreventDefault).on(dragstart, d3_eventPreventDefault), style = d3_documentElement.style, select = style[d3_event_dragSelect];
10421042
style[d3_event_dragSelect] = "none";
10431043
return function(suppressClick) {
1044-
w.on(selectstart, null).on(dragstart, null);
1044+
w.on(touchstart, null).on(selectstart, null).on(dragstart, null);
10451045
style[d3_event_dragSelect] = select;
10461046
if (suppressClick) {
10471047
function off() {

0 commit comments

Comments
 (0)