My apologies, Erik. Yours is the superior method. I must have been
remembering the behavior of IE5.

On Jul 2, 8:12 pm, "Erik Beeson" <[EMAIL PROTECTED]> wrote:
> Ick! Global variables and eval'd code! How about (untested, logic should be
> unchanged):
>
> $(function() {
>     $(':text').bind('focus', function() {
>         var o = this;
>         if(o.setSelectionRange) {     /* DOM */
>             setTimeout(function()
> {o.setSelectionRange(o.value.length,o.value.length);}, 2);
>         } else if(o.createTextRange) {    /* IE */
>             var r = o.createTextRange();
>             r.moveStart('character', o.value.length);
>             r.select();
>         }
>     });
>
> });
>
> Adds an anonymous function, which adds a function call, but saves an eval
> and doesn't require a global variable, which is potentially problematic.
>
> --Erik
>
> On 7/2/08, Brian J. Fink <[EMAIL PROTECTED]> wrote:
>
>
>
> > And I checked my code again. It DOES work on FF3, FF2, and IE7.
>
> > On Jul 2, 5:37 pm, Paul Malan <[EMAIL PROTECTED]> wrote:
> > > Thanks for the code.  It doesn't work for me--still when I tab into a
> > > textbox in either IE7 or FF3 the content is selected and the cursor
> > > isn't positioned at the end of the text, even when I pull out
> > > everything but this function and two textboxes to test.
>
> > > I think I may just give up--it was a minor detail and not requested by
> > > the users.  Bugs me, though.  Seems like it shouldn't be so tricksy...
>
> > > On Jul 2, 3:12 pm, "Brian J. Fink" <[EMAIL PROTECTED]> wrote:
>
> > > > There may be a jQuery way to do this, but I don't know what it is.
>
> > > > However, I do know 2 ways to accomplish this: one DOM way, one IE way.
> > > > Both methods must be employed.
>
> > > > $(function() {
> > > >  $('input[type="text"]').bind('focus',function() {
> > > >   window.o=this;
> > > >   if (o.setSelectionRange)     /* DOM */
> > > >    setTimeout('o.setSelectionRange(o.value.length,o.value.length)',2);
> > > >   else if (o.createTextRange)     /* IE */
> > > >   {
> > > >    var r=o.createTextRange();
> > > >    r.moveStart('character',o.value.length);
> > > >    r.select();
> > > >   }
> > > >  });
>
> > > > });
>
> > > > On Jul 2, 2:55 pm, Paul Malan <[EMAIL PROTECTED]> wrote:
>
> > > > > By default it seems browsers select all the text in a textbox when it
> > > > > gains focus by way of a tab-press.  I would like the cursor to be
> > > > > positioned at the end of any existing text in the input,
> > instead.  The
> > > > > examples I'm turning up on Google don't work and seem needlessly
> > > > > complex, and since jQuery simplifies everything else I used to hate
> > > > > about Javascript, I thought I'd see if there's a simple way to
> > > > > position the cursor in a text input box on focus.  Is it doable?
>
> > > > > Thanks...

Reply via email to