When starting to use jQuery I was assuming that jQuery would be a
stable interface that removes the headache of having to deal with
multiple browser APIs. It certainly has a lot of features that achieve
this.

Now I have a case where jQuery makes things worse for me with a
dimension that I have never heard of.

I have to wrestle with jQuery read-only API calls that refresh the
page (yes you are reading this correctly).

http://docs.jquery.com/CSS
css( name ) Returns: String

In a jQuery declared read-only call css(), jQuery.swap() is called
internally that temporarily writes three browser css attributes that
may cause a page refresh.

No wonder that the pages flicker.

See http://dev.jquery.com/ticket/5743
Firefox: Reading a single Attribute causes Page Flicker

I first thought that jQuery was some kind of computer program.

But it is clearly something else, because computer programs don't
actually update other things just get the value of something.

It's like in a car having to hit the brakes to just get a speed
reading.

I hope that this article will somehow encourage the authors of jQuery
to remove the updating behavior, even if that means to reduce the
functionality of jQuery to what is honestly achievable without such
practices.


Keywords: jQuery, flicker, FireFox, CSS, overflow, auto, Dialog,
hidden, scroll

Reply via email to