#9911 closed bug (invalid)
Undelegate will not work when selector is class name.
Reported by: | 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 12 years ago by
Component: | unfiled → event |
---|---|
Priority: | undecided → low |
Resolution: | → invalid |
Status: | new → closed |
comment:2 Changed 12 years ago by
OP, you are confusing HTML classes with jQuery event namespaces. This example with namespaces works fine.
comment:3 Changed 10 years ago by
<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.
If a selector is passed, so must an event type be passed.
http://api.jquery.com/undelegate http://jsfiddle.net/timmywil/njrNw/8/ http://jsfiddle.net/timmywil/njrNw/9/