I battled ie through the night. Ultimately, it won.

There are many ways to address the text selection issue. I found, I
think six solutions on the web. I was heavy into capturing the mouse
and event propagation (the div I'm "watching" is a few layers deep in
the hierarchy).

All of the solutions, though, drastically affected my framerate and
responsiveness. The message system gets gummed up and the user
experiences jerks and seizures where it had been perfectly smooth and
robust before.

Finally, at 3am, I decided to stick with the most common solution
(onselectstart returning false) and mitigate the framerate issues in
other ways. It's a shame. No other browser is detrimentally affected
in performance by disallowing text selection.

If this happens to you, you're not nuts, or at least no more nuts than
I am.


On Feb 21, 5:08 pm, timothytoe <[EMAIL PROTECTED]> wrote:
> Returning false for onselectstart <i>severely</i> depressed my frame
> rate, which is ridiculous.
>
> I tried it in code, and I tried it in the html (ondragstart="return
> false" onselectstart="return false"). Either way, wham! Any way you
> can test to see if you were hit? Perhaps you were doing something less
> demanding than I am? Or on a faster PC?
>
> On Feb 21, 8:46 am, Eli_Cochran <[EMAIL PROTECTED]> wrote:
>
> > We recently dealt with the same problem with IE on the Fluid project.
> > We fixed it by trapping both the ondrag and onselectstart events.
> > Note: these events only need to be trapped in IE and they are not
> > jQuery events so you need to cast the object to a browser DOM object
> > before trapping.
>
> > Here is our code. Note that domNode is a jQuery object that was set up
> > in an earlier function and get(0) is what casts it to a browser DOM
> > object.
>
> > if (jQuery.browser.msie) {
> >         domNode.get(0).ondrag = function () { return false; };
> >         domNode.get(0).onselectstart = function () { return false; };
>
> > }
>
> > - Eli Cochran
> >   user interaction developer
> >   ETS, UC Berkeley
>
> > On Feb 20, 5:23 pm, timothytoe <[EMAIL PROTECTED]> wrote:
>
> > > Thanks. I got it to work with 2 preventDefaults (the one for IE and
> > > the one for the other browsers), but I've not tried IE6 yet, so I may
> > > yet need to have your tricks up my sleeve. Thanks. I'll get back here
> > > with a final listing of code once I'm sure I'm working on all the A-
> > > grade jQuery-supported browsers.
>
> > > On Feb 20, 12:07 pm, "Josh Nathanson" <[EMAIL PROTECTED]> wrote:
>
> > > > I believe the one for IE is "stopPropagation()" or something like that.
>
> > > > Also, did you try putting "return false" after all the other code for 
> > > > your
> > > > mousemove?  I seem to recall that helped me in a similar situation.
>
> > > > $("#actionSurface").mousemove(function(e){
> > > >     ... save off current x and y ...
> > > >     ... move shit around
> > > >     return false;  <--- add this
> > > >   });
>
> > > > -- Josh
>
> > > > ----- Original Message -----
> > > > From: "timothytoe" <[EMAIL PROTECTED]>
> > > > To: "jQuery (English)" <jquery-en@googlegroups.com>
> > > > Sent: Wednesday, February 20, 2008 11:48 AM
> > > > Subject: [jQuery] Re: How to keep text from being highlighted when I'm
>
> > > > handling the mouse events
>
> > > > > Yeah, so surprise. Doesn't work on IE. Anyone have any ideas for that
> > > > > browser?

Reply via email to