Bug Tracker

Opened 8 years ago

Closed 8 years ago

Last modified 7 years ago

#9911 closed bug (invalid)

Undelegate will not work when selector is class name.

Reported by: rosenkonstantinov@… Owned by:
Priority: low Milestone: None
Component: event Version: 1.6.2
Keywords: Cc:
Blocked by: Blocking:

Description

It seems that as of jQuery 1.6.x undelegate will not work if selector is a class name. (this is working with 1.5.2) Tested on Chorme 12.0.742.122 and Firefox 5.0.

Sample repro http://jsfiddle.net/njrNw/7/. Clicking on the button will not remove the previous delegate causing multiple executions of the click handler.

Change History (3)

comment:1 Changed 8 years ago by timmywil

Component: unfiledevent
Priority: undecidedlow
Resolution: invalid
Status: newclosed

comment:2 Changed 8 years ago by dmethvin

OP, you are confusing HTML classes with jQuery event namespaces. This example with namespaces works fine.

http://jsfiddle.net/dmethvin/njrNw/10/

comment:3 Changed 7 years ago by anonymous

<p>
The new on() replacement for delegate also will not undelegate.
</p>

<div id="container">
        <button type="button" class="b">Click me twice</button>
</div>
function attach() {
    var $con = $("#container").on("click", ".b",
             function() {
                 console.log("click");
                 attach();
             }
        );
}    

attach();
Note: See TracTickets for help on using tickets.