Comments (9)
@trouba, it's strange. Could you provide the screenshot of current body styles in the developer tools?
from react-indiana-drag-scroll.
@Norserium Here it is:
from react-indiana-drag-scroll.
And what's problem? You can redefine the cursor to cursor: auto
in your class.
from react-indiana-drag-scroll.
The problem is I'm using the library on a canvas element in a react component. I don't want the body to have a grab cursor, only the element I'm working with.
I tried to remove the indiana-dragging class from the body (in onStartScroll) but it falls back to auto, and takes priority over the canvas cursor while dragging.
I could probably find a way to override this but I would prefer not to:
- have to remove a class from the body
- have to set the cursor on the body manually each time the dragging state changes
- have to add css to the body since i'm using this in an isolated component
The best way for this would be to have an option to remove this class if it's only purpose is to add cursor: grab
I could open a PR if you'd like
from react-indiana-drag-scroll.
I still don't get, why cursor: auto
doesn't solve your problem? Child element cursor
property should have the bigger priority. The example.
from react-indiana-drag-scroll.
@Norserium thanks for your feedback, I made 2 minimal reproduction pens so you can see my issue:
Using .indiana-dragging { cursor: auto; }
https://codepen.io/trouba/pen/yLgmaay
🚫 Cursor switches back to default when dragging, despite the cursor being "grabbing" on the canvas element
Using .indiana-dragging { cursor: grabbing !important; }
https://codepen.io/trouba/pen/bGgXwWy
✅ Cursor is ok
The second one kinda fix my issue but i'd rather not have this class. Maybe I'm missing something here ?
from react-indiana-drag-scroll.
@trouba, actually, the setting of cursor in body
is not the problem. The problem is that child elements of the scroll container has pointer-events: none
while dragging, so their cursor
property just ignored. You can apply cursor to the whole container to bypass this issue.
There are also questions to your code. For example, why do you access to elements via DOM API and not by refs? Why do you set the style instead of adding class (container--grab
, container--grabbing
)? In this case autoprefixer
will do some job for you.
Perhaps, you did it only to make example faster. If so, there are no questions.
from react-indiana-drag-scroll.
@Norserium Thank you , setting the cursor on the scroll container fixes everything
from react-indiana-drag-scroll.
You are welcome!
from react-indiana-drag-scroll.
Related Issues (20)
- [Request] Be able to change cursor HOT 4
- Testing issues HOT 5
- No way to get scroll offsets HOT 3
- There is no response to the components in ScrollContainer. HOT 8
- Doesn't work with scroll snapping HOT 3
- Any plan of migrating to function components? HOT 4
- Any plan to support React 18? HOT 5
- Activate drag scroll with the mouse wheel? HOT 5
- Change input in container HOT 4
- Horizontal scroll not working with touchpad HOT 7
- 'ScrollContainer' cannot be used as a JSX component. HOT 6
- style prop isn't applied in v3 HOT 10
- Dragging problem on touch devices HOT 8
- Add horizontal scroll support using a scroll wheel HOT 2
- reset scroll bar position HOT 1
- scrollLeft not set when scrolling with mousewheel HOT 3
- Receiving [Violation] warning on every render of ScrollContainer
- Bad importation at https://norserium.github.io/react-indiana-drag-scroll/ HOT 1
- v3 feedback 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 react-indiana-drag-scroll.