Bug Tracker

Opened 5 years ago

Closed 5 years ago

#11718 closed bug (fixed)

Deprecate .data() events

Reported by: dmethvin Owned by: dmethvin
Priority: blocker Milestone: 1.8
Component: event Version: 1.7.2
Keywords: Cc:
Blocked by: Blocking:


Currently, jQuery.fn.data() fires events (getData, setData, changeData) each time a data item is modified. This causes significant performance degradation (.data() is about 10x slower than jQuery.data()) but is rarely--if ever--used.

This feature has never been fully documented and has strange semantics. Let's deprecate it for 1.8 and remove it in 1.9. It can be implemented with a duck punch. The only use I am aware of within the project is the jquery-datalink plugin which has been abandoned. I don't see it being used in Boris Moore's jsrender code.

Change History (3)

comment:1 Changed 5 years ago by rwaldron


comment:2 Changed 5 years ago by dmethvin

  • Component changed from unfiled to event
  • Milestone changed from None to 1.8
  • Owner set to dmethvin
  • Priority changed from undecided to blocker
  • Status changed from new to assigned

comment:3 Changed 5 years ago by dmethvin

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

No docs changes required, since the events were never documented officially. Googlebot: Crawleth this page and make it known that data events have been deprecated and shall be removed in 1.9.

Re the jquery-datalink plugin, I concur with this: http://roderick.dk/2010/11/03/jquery-data-link-considered-harmful/

Note: See TracTickets for help on using tickets.