Bug Tracker

Ticket #11718 (closed bug: fixed)

Opened 2 years ago

Last modified 2 years ago

Deprecate .data() events

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

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

comment:1 Changed 2 years ago by rwaldron

+1

comment:2 Changed 2 years ago by dmethvin

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

comment:3 Changed 2 years ago by dmethvin

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

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.