2

I have a problem where moving the cursor and clicking in text fields causes the page to show a wait cursor and also makes the page very unresponsive.

IE7 wait cursor problem

See this video for an example of it happening.

It only happens in IE7.

I've tried checking where I think it might be sending off ajax requests (thought this could be changing the cursor).

I've checked where I think multiple events may be firing simultaneously and tried commenting it out.

Has anyone seen anything similar happen and can point me in the right direction?

What is IE7's criteria for displaying the wait cursor?

Ally
  • 4,894
  • 8
  • 37
  • 45
  • if you try to replicate your CSS and the form on jsFiddle, does it do the same thing? – Zathrus Writer Oct 25 '13 at 15:22
  • Unfortunately I've been unable to replicate this, which makes it very difficult to find out what's going wrong. I'm hoping someone has seen something similar and can give me a few pointers. – Ally Oct 25 '13 at 15:24
  • 2
    What is firing when you are clicking the input? Are their events attached to it. [also sucks to be you supporting IE7!] Remove the events that are attach and add them back one by one and figure out what is causing it. – epascarello Oct 25 '13 at 15:26
  • 2
    is there any javascript that interacts with the form? JS is supper slow in IE7 so that can easily mess it up. – JustGage Oct 25 '13 at 15:26
  • Consider dropping IE7 support. It is obsolete and has a negligible market share. – Marat Tanalin Oct 25 '13 at 15:28
  • @MaratTanalin unless your user base has high IE7 support and some actually do. – epascarello Oct 25 '13 at 15:29
  • There is a lot of JavaScript on the page but I think there are only "blur" events attached to the inputs, so I can't figure out why the cursor flickers even on mouse move. But the JavaScript is quite heavy on the page so I guess it doesn't help with IE7 being slow to process JavaScript. I really do hate having to support it but it's necessary :( – Ally Oct 25 '13 at 15:32
  • @MaratTanalin This user base is quite high on IE7, it's a business to business company, and a lot of businesses seem to have very old versions of IE, I'm guessing something to do with their security policies. – Ally Oct 25 '13 at 15:33
  • 2
    @Ally Do you use IE expressions (JS as a CSS property value) or HTC components (JS as *.htc files)? – Marat Tanalin Oct 25 '13 at 15:36
  • @MaratTanalin That's a good idea thanks but it doesn't look as if any are in use. – Ally Oct 25 '13 at 15:43
  • Should a wait cursor be shown if JavaScript is executing? That will probably narrow it down between Ajax requests or JavaScript events. I tried running IE's profiler under developer tools but could not see any ajax requests being sent, so I mentally excluded that possibility (although I don't have much faith in Internet Explorer to assume it's reporting the right information). – Ally Oct 25 '13 at 15:46

1 Answers1

1

Eventually I narrowed down the issue. After eliminating code bit by bit I deduced the problem isn't caused by JavaScript at all, it's a css issue.

The exact line of css is

overflow-y: auto

I don't know exactly the circumstances to reproduce it. But for a bit of info that might help others... The container the css is applied to is positioned absolutely. It has a fixed size (which also seems to be changed in JavaScript) and width. It's parent container is a div with display:block;.

Curiously if you scroll to the bottom of the container and back up it seems to fix the flickering bug.

Ally
  • 4,894
  • 8
  • 37
  • 45