Bug Tracker

Modify

Ticket #3980 (closed enhancement: invalid)

Opened 5 years ago

Last modified 3 years ago

.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:
Blocking: Blocked by:

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

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

Change History

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

Changed 5 years ago by iraebrasil

sort live handlers to mimic natural propagation

comment:2 Changed 5 years ago by john

  • Status changed from new to closed
  • Resolution set to fixed

Fixed in SVN rev [6192].

comment:3 Changed 5 years ago by rajiv@…

  • Status changed from closed to reopened
  • Resolution fixed deleted

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 5 years ago by brandon

  • Owner brandon deleted
  • Status changed from reopened to new

comment:5 Changed 3 years ago by rwaldron

  • Owner set to iraebrasil
  • Status changed from new to pending

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 3 years ago by rwaldron

  • Priority changed from major to low
  • Milestone 1.3.2 deleted

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

  • Status changed from pending to closed
  • Resolution set to invalid

Automatically closed due to 14 days of inactivity.

Please follow the  bug reporting guidlines and use  jsFiddle when providing test cases and demonstrations instead of pasting the code in the ticket.

View

Add a comment

Modify Ticket

Action
as closed
Author


E-mail address and user name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.