Side navigation
#9278 closed bug (wontfix)
Opened May 13, 2011 08:06PM UTC
Closed July 12, 2011 04:46PM UTC
Last modified March 09, 2012 03:56AM UTC
unbind is too greedy when unbinding proxy functions
Reported by: | sahab.yazdani+jquery@gmail.com | Owned by: | rwaldron |
---|---|---|---|
Priority: | undecided | Milestone: | 1.next |
Component: | event | Version: | 1.6.1 |
Keywords: | Cc: | ||
Blocked by: | Blocking: |
Description
Steps to reproduce:
1. Create two proxies of the same function but using different contexts.
2. Bind these two proxies unto the same event handler using $().bind
3. Unbind one of the proxies using the proxied function handle
4. Trigger the event
Actual Result:
Note that no event gets triggered
Expected Result:
The version of the handler that was not unbound should get triggered.
The JSFiddle will clarify this: http://jsfiddle.net/RD7ZF/7/
As far as I can tell, jQuery has worked like this from the dawn of time, but to me the behviour is rather unexpected. Because the contexts for the proxy functions are different, by extension the two proxy methods are different whereas unbind treats them as being the same.
Attachments (0)
Change History (4)
Changed May 15, 2011 07:24PM UTC by comment:1
component: | unfiled → event |
---|---|
owner: | → rwaldron |
status: | new → assigned |
Changed July 12, 2011 04:46PM UTC by comment:2
resolution: | → wontfix |
---|---|
status: | assigned → closed |
Thanks for your time and interest in helping the jQuery project, but this is by design and we do not intend to change this functionality, as it would greatly increase the complexity of creation and subsequent unbinding of proxied functions.
Changed August 04, 2011 10:06PM UTC by comment:3
keywords: | → needsdocs |
---|
This is something worth documenting at least; heavy users of jQuery.proxy
may not expect the behavior. However, many jQuery.proxy
users will be using delegated events anyway and be less likely to need to unbind perhaps?
Changed October 08, 2011 03:03AM UTC by comment:4
keywords: | needsdocs |
---|
Added a paragraph to describe this behavior and recommended event namespaces as the solution.
Confirmed.