Bug Tracker

Opened 12 years ago

Closed 11 years ago

#8473 closed bug (fixed)

In IE9rc *[tabIndex] select all elements without tabindex also

Reported by: EMVI Owned by: Timmy Willison
Priority: high Milestone: 1.8
Component: selector Version: 1.5.1
Keywords: Cc:
Blocked by: Blocking:

Description

The live events are triggert for all elements, if I remove the "*[tabIndex]" selector the events are only triggert for a and :input elements.

$('a,:input,*[tabIndex]')
    .live('focus',function(){
        this.isFocused = true;
    })
    .live('blur',function(){
        this.isFocused = false;
    })
    .live('mousedown',function(){
        // in webkit some input doesn't get focus on select by mousedown
        if( !this.isFocused ){
            this.focus();
        }
    });

Change History (7)

comment:1 Changed 12 years ago by addyosmani

Priority: undecidedlow

Thanks for submitting a ticket to the jQuery Bug tracker. Could you please provide us a complete reduced test-case on jsFiddle.net that we can run to evaluate whether this issue is due to jQuery core or a bug in your implementation?

comment:2 Changed 12 years ago by EMVI

Here is the jsFiddle test-case: http://jsfiddle.net/mnqBT/3/

comment:3 Changed 12 years ago by dmethvin

Component: unfiledselector
Status: newopen

In IE6/7 there's no querySelectorAll and the Sizzle JS engine path is looking at the tabIndex property (which exists on all elements) rather than an explicit attribute.

comment:4 Changed 12 years ago by john

Milestone: 1.next1.7
Owner: set to Timmy Willison
Priority: lowblocker
Status: openassigned

Confirmed in bug triage.

comment:5 Changed 12 years ago by Timmy Willison

Milestone: 1.71.8
Priority: blockerhigh

Moving to 1.8. After hooking up Sizzle to jQuery.attr, everything works as we intended. One of the ways we intend it to work, however, prohibits us from fixing this bug until we can deprecate retrieving the tabIndex property with .attr('tabindex'). We currently copy over the propHook to attrHooks in order to mirror previous behavior. When we do deprecate this, it will fix this selector bug and put attr even closer to what it should be, but we will see users complain about getting undefined instead of a number when we do deprecate the tabindex attrHook. I'd like to officially deprecate it in 1.7 and remove it in 1.8 effectively killing this bug. Any objections?

comment:6 Changed 11 years ago by Timmy Willison

#11568 is a duplicate of this ticket.

comment:7 Changed 11 years ago by Timmy Willison

Resolution: fixed
Status: assignedclosed

Remove the tabindex attrHook. Fixes #8473

Changeset: 3e2a77c5e882b5fc88bf5469ea00067833a2a059

Note: See TracTickets for help on using tickets.