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:

Description

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 Rick Waldron

+1

comment:2 Changed 5 years ago by dmethvin

Component: unfiledevent
Milestone: None1.8
Owner: set to dmethvin
Priority: undecidedblocker
Status: newassigned

comment:3 Changed 5 years ago by dmethvin

Resolution: fixed
Status: assignedclosed

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.