Comments (4)
Make sure your Layer has both a width and a height and is “visible”. To be sure, give it a temporary backgroundColor: 'hotpink'
. If you cannot see it, that’d explain why the event isn’t triggered.
from react-canvas.
Yes the Layer is visible and has width / height. I'll come back with a test sample here.
from react-canvas.
Nailed it. It is because the Group component has a translateY prop set. It makes the children actually move, but not their hit zone it seems.
By the way, is there a reason for Group not supporting top / left ?
Here is a sample :
var React = require('react/addons');
var ReactCanvas = require('react-canvas');
var Surface = ReactCanvas.Surface;
var Layer = ReactCanvas.Layer;
var Image = ReactCanvas.Image;
var Group = ReactCanvas.Group;
var App = React.createClass({
handleClick: function(event) {
console.log(event);
},
render: function () {
var surfaceWidth = window.innerWidth;
var surfaceHeight = window.innerHeight;
var groupStyle = {
translateY: 100,
};
var layerStyle = {
width: 100,
height: 100,
top: 0,
left: 0,
backgroundColor: '#ff0000'
};
return (
<Surface width={surfaceWidth} height={surfaceHeight} left={0} top={0}>
<Group style={ groupStyle }>
<Layer onClick={ this.handleClick } style={ layerStyle } />
</Group>
</Surface>
);
}
});
React.render(<App />, document.getElementById('app'));
from react-canvas.
Group should support top/left values. Child values for top/left are not relative to the parent though (e.g. position: relative inside position: absolute). Everything is essentially absolutely positioned.
That being said, hit testing should account for ancestor translations. Your example looks good so this seems like a bug, will have a look.
from react-canvas.
Related Issues (20)
- support react v15? HOT 2
- Support opacity in background color?
- Is the react-canvas still updating? HOT 7
- QQ.. Guys, just wondering, how will does react native transform canvas element?.
- Announcing React-RETINA (<canvas> for React v15 & also Preact compatible, and supports variable sized ListView) HOT 13
- <Surface> is OK,but do not render <Group> component
- how to make a loop
- webpack2 HOT 3
- not possible to install with yarn due to dependency in git repo
- about isMounted() cannot be used in es6 HOT 1
- Is this still maintained? HOT 3
- update for support of React v16 please HOT 12
- Module not found: HOT 7
- when Surface's enableCSSLayout is set to true, Image‘s position is not right HOT 1
- How to rotate a line ?
- Whether react 16.12 is supported? HOT 3
- Error on install dependencies HOT 3
- How to download canvas data (toDataURL("image/png"))
- For contributing, the development setup is not working.
- [FORK] react-canvas with added support for React 16, React 17 and React 18 HOT 2
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-canvas.