Thanks John,
I tried to create a demo snippet, but no luck. The app I work on is under NDA so can't share that. But, after some hours of debugging I found a simple clause that made a difference.
I have a function which resizes images (on 400ms timeout), and each time adds an absolutely positioned div (.fullsize) with a href and icon, .before the IMG. When page is resized, that icon div is erased and then redrawn. When I have
jQuery(window).resize(function() {
jQuery("div").remove(".fullsize");
// resize function follows...
});
IE8 goes very unresponsive on window resize, and starts to give "script is slow, abort?" messages. There is something in my DOM that hates that row. The "fix" in my first message fixes this.
When I write removal as
jQuery(window).resize(function() {
jQuery("div.fullsize").remove();
// resize function follows...
});
I8 is flawless with stock 1.4.1 and UI 1.8rc1.
The oddest thing is that when I changed above line, it made those "slow script" errors go away also for other functions outside window.resize() when window was NOT resized at all (only AJAX done and div filled with result, height checked and div height resized to conform UI). That one line change fixed IE8.