Comments (5)
/sub
from observe-js.
There is currently no plan to do that, and you've hit on the best example of why: offsetWidth is never directly stored, it must be computed. Accessing offsetWidth can be extremely expensive, forcing a browser layout. Allowing it to be observed would essentially be a giant go-slow button on the browser. Observing via the polyfill's approach of dirty-checking is just as bad. Basically, don't do this.
from observe-js.
Too bad, I was hoping we finally had a method to handle a size changed event.
We need this in our application so we are forced to poll offsetWidth/offsetHeight regularly.
from observe-js.
I used the following workaround for people who have the same problem as me.
http://www.backalleycoder.com/2013/03/18/cross-browser-event-based-element-resize-detection/
Works perfectly, cross platform and doesn't require a constant polling loop.
from observe-js.
There is a packaged version of the backalleycoder <object type=""text/html"> hack: https://github.com/KyleAMathews/element-resize-event
Not sure how far this proof-of-concept polyfill is going, but it has "CSS Element Queries" with a polyfill using scroll event hacks (the js for the polyfill might be reusable): https://github.com/marcj/css-element-queries
Polymer has an implementation that appears to avoid hacks by instead requiring all elements to communicate resize changes explicitly (appears to be the case but haven't looked through it completely): https://github.com/Polymer/core-resizable
from observe-js.
Related Issues (20)
- .set doesnt work with computed bindings, computed properties, or observers
- FTLOG HOT 3
- TypeError: Object.observe is not a function HOT 2
- Build system seems to be broken
- Ability to have performMicrotaskCheckpoint not attached to global
- Use regular expressions instead of state machine HOT 3
- Even faster compiledGetValueFromFn HOT 1
- Is this supposed to work? HOT 3
- Support AMD loading with "define"
- version on npm is 0.4.2 while releases here on github show latest as 0.5.6 HOT 5
- utlise proxy on systems where Proxy is supported HOT 1
- 7 tests broken on latest FF and 6 on Chrome
- Pathobserver on document.title - works in ff, not in chrome
- Supress Object.observe deprecation warning
- IGNORE
- ObjectObserver does not report observed object onChange event
- Chrome 50 breaks this lib HOT 11
- About delivery of changes
- ObjectObserver doesn't seem to work in Safari iOS HOT 3
- Tag with ^1.0.0
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 observe-js.