diff --git a/src/drag.js b/src/drag.js
index <HASH>..<HASH> 100644
--- a/src/drag.js
+++ b/src/drag.js
@@ -18,6 +18,10 @@ function defaultSubject(d) {
   return d == null ? {x: event.x, y: event.y} : d;
 }
 
+function touchable() {
+  return "ontouchstart" in this;
+}
+
 export default function() {
   var filter = defaultFilter,
       container = defaultContainer,
@@ -34,6 +38,7 @@ export default function() {
   function drag(selection) {
     selection
         .on("mousedown.drag", mousedowned)
+      .filter(touchable)
         .on("touchstart.drag", touchstarted)
         .on("touchmove.drag", touchmoved)
         .on("touchend.drag touchcancel.drag", touchended)
Only register touch listeners when supported.

This avoids a [Violation] warning in Chrome (#<I>).