Bug Tracker

Ticket #8201 (closed bug: invalid)

Opened 4 years ago

Last modified 4 years ago

the behavior of data api in jQuery 1.5 has changed

Reported by: yangjh02@… Owned by:
Priority: low Milestone: 1.next
Component: data Version: 1.5
Keywords: Cc:
Blocking: Blocked by:

Description

I use data api, to change my object, so that I can take advantage of changeData and setData event. for example,

var customer = { name : "john" };

instead of change customer like

customer.name = "tim",

I use

$(customer).data("name", "tim");

so that I can use the event to handle the data change. In jQuery 1.4.4 , I can assert customer.name == "tim",

but in 1.5, the behavior has change, it is now using the jQuery.cache object as like other objects, here is a dump, of the customer.

Customer

  1. jQuery1297093665961: 37
  2. name: "john"
  3. proto: Object

jQuery.Cache

  1. 37: Object
    1. name: "tim"

I am not sure reason of the change, but it break my code, possibly of many others. But the release note of 1.5 does not mention about the change, although, the change does pass the unit test, but it break user's expectation of the its side effect.

Change History

comment:1 Changed 4 years ago by snover

  • Status changed from new to closed
  • Resolution set to invalid

This is intentional. Please read the release notes.

comment:2 Changed 4 years ago by jitter

  • Priority changed from undecided to low
  • Component changed from unfiled to data
Note: See TracTickets for help on using tickets.