Search code examples
jqueryjquery-1.4

jQuery 1.4.2: .is(":focus") gives syntax error


Assume there is a document with a single input. What I'm trying to do is as simple as this:

$("input").focus().is(":focus");

I would expect the above code to return true. Instead, firebug logs an error:

Syntax error, unrecognized expression: Syntax error, unrecognized expression: focus

What am I missing here? I assumed that the syntax used with is() is identical to $(), or I can't do that?

How would you recommend to check for a focused input if this is unfixable instead?

EDIT:

As of jquery 1.6, the :focus selector is part of jquery core: http://api.jquery.com/focus-selector/
If you need it, just upgrade.


Solution

  • $("input").focus() should suffice. As :focus is not a selector.

      $("input").focus(function () {
             //do something
        });
    

    Edit:

    $("input:focus").runFunc(); I suppose that might work. Cletus has summed up this problem well I think, its worth a look.