Bug Tracker

Opened 12 years ago

Closed 11 years ago

Last modified 11 years ago

#10809 closed bug (fixed)

incorrect test using ".activeElement" in the :focus pseudo-class resolver

Reported by: diego.perini@… Owned by: Timmy Willison
Priority: low Milestone: 1.8
Component: selector Version: 1.6.4
Keywords: Cc:
Blocked by: Blocking:


The "document.activeElement" does not completely reflect a "focussed" element in every situation/environment.

Newer browser have a "document.hasFocus()" method to make sure a given document contains the currently "focussed" element.

There can only be one focussed element in the browser. So the "focus" is bound to the current editing view.

So if you are typing in a text box in one window, that element is both "active" and "focussed". As soon as you switch window and you type in a different text box the previous element is still "active" but not "focussed".

Use the ".activeElement" property to provide support for the CSS2 ":active" pseudo-class which is currently missing. Just rename current "focus" method to "active" and add a new "focus" method that considers newer browsers implementing the ".hasFocus()" method.


Change History (4)

comment:1 Changed 12 years ago by Timmy Willison

Component: unfiledselector
Milestone: None1.8
Owner: set to Timmy Willison
Priority: undecidedlow
Status: newassigned

I probably should have filed a ticket for this myself. I have this change on my list for the Sizzle revamp in 1.8. Thanks for filing Diego.

If it's a major concern, we can push this ahead to 1.7.x, but imo, I don't think that's necessary.

comment:3 Changed 11 years ago by Timmy Willison

Resolution: fixed
Status: assignedclosed

comment:4 Changed 11 years ago by Timmy Willison

#10569 is a duplicate of this ticket.

Note: See TracTickets for help on using tickets.