Bug Tracker

Opened 14 years ago

Closed 13 years ago

#3980 closed enhancement (invalid)

.live() delegation can be friendly if it mimics the the propagation order

Reported by: iraebrasil Owned by: iraebrasil
Priority: low Milestone:
Component: event Version: 1.3.1
Keywords: live, delegation, order Cc:
Blocked by: Blocking:

Description

As discussed in the jquery-dev list on the topic: http://groups.google.com/group/jquery-dev/browse_thread/thread/d2900793205d58e/7d034f723cf8588c?hl=en&

I believe that the overhead is minimal in the proposed attached patch.

I've made a test case and also an unit test proposal.

1.3.1: http://irae.pro.br/jquerytests/live.simulate.propagation-patched.html

1.3.1 with patch: http://irae.pro.br/jquerytests/live.simulate.propagation-patched.html

Attachments (1)

live_ordering.diff (3.2 KB) - added by iraebrasil 14 years ago.
sort live handlers to mimic natural propagation

Download all attachments as: .zip

Change History (8)

comment:1 in reply to:  description Changed 14 years ago by iraebrasil

Changed 14 years ago by iraebrasil

Attachment: live_ordering.diff added

sort live handlers to mimic natural propagation

comment:2 Changed 14 years ago by john

Resolution: fixed
Status: newclosed

Fixed in SVN rev [6192].

comment:3 Changed 14 years ago by rajiv@…

Resolution: fixed
Status: closedreopened

The solution does not seem to work if the element uses .live() handler and parent using regular .click() handler. Try the following test case.

        // in testD <a> is bound without live
        $(function(){
            $('#testD li').click(function(event){
                $(this).css(
                    'background-color',
                    ($(this).css('background-color')==='rgb(255, 192, 203)'?'red':'rgb(255, 192, 203)')
                    );
            });
            $('#testD a').live("click", function(event){
                $(this).css(
                    'background-color',
                    ($(this).css('background-color')==='rgb(255, 255, 255)'?'silver':'rgb(255, 255, 255)')
                    );
                return false;
            });
        });

comment:4 Changed 14 years ago by brandon

Owner: brandon deleted
Status: reopenednew

comment:5 Changed 13 years ago by Rick Waldron

Owner: set to iraebrasil
Status: newpending

Thanks for taking the time to contribute to the jQuery project! Please provide a reduced jsFiddle test case to help us assess your ticket!

Additionally, test against the jQuery 0 GIT version to ensure the issue still exists. Be Excellent to eachother!

comment:6 Changed 13 years ago by Rick Waldron

Milestone: 1.3.2
Priority: majorlow

comment:7 Changed 13 years ago by trac-o-bot

Resolution: invalid
Status: pendingclosed

Automatically closed due to 14 days of inactivity.

Note: See TracTickets for help on using tickets.