Bug Tracker

Opened 4 years ago

Closed 4 years ago

Last modified 4 years ago

#10952 closed bug (fixed)

.fired() doesn't work on Callbacks object when it is flagged with "once"

Reported by: dtipson@… Owned by: jaubourg
Priority: low Milestone: 1.7.2
Component: misc Version: 1.7.1
Keywords: Cc: jaubourg
Blocked by: Blocking:

Description

Adding the flags "once" or "once unique" to a callbacks object seems to disable the ability of .fired() to accurately reflect whether or not it was fired at least once. It always returns false, no matter how many times you fire the callback (it will only fire its functions once, obviously, but at that point it should be flagged as fired/resolved). This means that there is no simple way to tell if a callback has fired already (which is useful for triggering other loosely coupled behavior).

http://jsfiddle.net/XmPze/27/

Same (wrong?) behavior in both 1.7 and 1.7.1

Change History (3)

comment:1 Changed 4 years ago by addyosmani

  • Cc jaubourg added
  • Component changed from unfiled to misc
  • Priority changed from undecided to low

comment:2 Changed 4 years ago by jaubourg

  • Milestone changed from None to 1.7.2
  • Owner set to jaubourg
  • Status changed from new to assigned

comment:3 Changed 4 years ago by jaubourg

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

Fixes #10952 by introducing a real fired flag in the Callbacks closure.

jQuery Size - compared to last make

250235 (+69) jquery.js

94225 (+7) jquery.min.js 33445 (+3) jquery.min.js.gz

Changeset: eefead3d9629d68407600831a23c58a25163489e

Note: See TracTickets for help on using tickets.