Comments (6)
It’s very easy to add an additional wheel listener that always calls event.preventDefault if that is your desired behavior. As in:
selection
.call(zoom)
.on("wheel", function() { d3.event.preventDefault(); });
from d3-zoom.
Hmm. This is actually really annoying in practice, since you can’t easily zoom out all the way without also scrolling down:
http://bl.ocks.org/mbostock/db6b4335bf1662b413e7968910104f0f
from d3-zoom.
I have this issue in v7.7.0. I zoom in/out all the way and then the mouse wheel starts scrolling body
.
d3.event.preventDefault();
and event.preventDefault();
are not defined in v7.7.0 like described here:
selection
.call(zoom)
.on("wheel", function() { d3.event.preventDefault(); });
Does anyone know what's the current code to disable body
scrolling while the mouse cursor is over the zoom rect
?
from d3-zoom.
I think what we need to do is consume all wheel events during an active wheel gesture, BUT, if a new wheel gesture starts and you’ve already zoomed out, then we ignore it and let the page scroll down. That way you can zoom out all the way without scrolling down, but if you try to zoom out again, it will then scroll down.
It’d be nice if we ignored wheel events immediately following scroll events, so that you could likewise scroll down without getting sucked into a zoomable element when the mouse enters. But that could lead to other problems, so seems best to ignore that for now.
from d3-zoom.
It would be nice if this behaviour could be switched off (or configure the timeout). I personally find the switching zoom/scroll behaviour a bit annoying even with the timeout.
from d3-zoom.
Ah, perfect, thanks. :)
from d3-zoom.
Related Issues (20)
- svg.call(d3.zoom().on('zoom',function(){})) warning : Argument of type 'ZoomBehavior<Element, unknown>' is not assignable to parameter of type '(selection: Selection<BaseType, unknown, HTMLElement, any>, ...args: any[]) => void'. HOT 2
- Option to pan with trackpad scroll and zoom with pinch? HOT 1
- Predefined events override manual transformations
- Mismatched link in README HOT 2
- documentation for zoom.on does not provide sufficient information to understand its use HOT 2
- Filtering doesn't work as expected for mouse events on macOS HOT 2
- Default zoom tween for translation animation surprising / More control over zoom animation tweens wanted HOT 2
- Zoom event listeners are passed an incorrect sourceEvent if a programmatic zoom occurs during a user zoom gesture
- Listen for zoom events with without d3-selection? HOT 2
- How to pan by dragging the trackpad with two fingers? HOT 1
- Zoom "end" is not called when pinch zooming and you start the zoom with the 2nd finger outside the chart HOT 2
- Navigator.maxTouchPoints is always 0 and should not be used
- selection.interrupt is not a function,
- iPhone Performance issues since iOS 16 HOT 1
- Zoom performance issues from iOS 16 onwards HOT 3
- function scale in Transform should support kX and kY instead of k HOT 1
- First zoom doesn't move scale to within scaleExtent HOT 2
- Referencing width on SVGElement when expected type is actually SVGSVGElement HOT 1
- Zoom Behaviour: disabling zoom.click and zoom.dblclick doesn't actually stop zoom behaviour from firing.
- select(...).transition is not a function HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from d3-zoom.