callbacks.fired() returns a Boolean: true if fire() or fireWith() has run at least once on that list (since jQuery 1.7). It does not invoke handlers.
Remember
callbacks.fired() // false before any fire
callbacks.fire("x")
callbacks.fired() // true after
fire() → run handlers (action)
fired() → boolean status (question)
Call it anytime you need a yes/no on whether the list has already published.
Create a list and optionally add() handlers.
Call fired() before any fire — expect false.
Call fire() or fireWith() when ready.
Call fired() again — expect true from then on.
Piece
Required?
Role
Callbacks object
Yes
From $.Callbacks()
Arguments
None
fired() takes no parameters
Return
—
Boolean — has the list fired?
Pseudocode
Pseudocode
function fired(callbacks):
return callbacks.hasBeenInvokedAtLeastOnce
// After fire() or fireWith() succeeds:
// hasBeenInvokedAtLeastOnce = true
// Later ignored fires (e.g. once) keep it true
Reference
Cheat Sheet
Keep these facts handy when checking Callbacks status.
Same flag. Both fire and fireWith count as “invoked.”
Edge Cases & Pitfalls
Do not confuse status checks with actions.
action
fired() never runs handlers
Use fire() to publish. fired() only answers a yes/no question.
empty
Empty fire still counts
Calling fire() with no handlers still marks the list as fired.
disable
Not the same as disabled()
A list can be fired and still enabled, or disabled without ever firing. Check both when debugging.
args
Do not pass flags to fired()
Flags belong on $.Callbacks("once memory") at creation time.
Compatibility
Browser Support
callbacks.fired() has shipped since jQuery 1.7 with $.Callbacks. It works in all modern browsers with jQuery loaded.
✓ jQuery 1.7+
callbacks.fired()
Boolean status helper — true after fire() or fireWith() has run at least once.
100%Browser support
Google ChromeAll versions · Desktop & Mobile
Full support
Mozilla FirefoxAll versions · Desktop & Mobile
Full support
Apple SafariAll versions · macOS & iOS
Full support
Microsoft EdgeAll versions · Chromium & Legacy
Full support
Internet ExplorerIE 6+ · Legacy environments
Full support
OperaAll modern versions
Full support
callbacks.fired()Excellent
Bottom line: Call fired() with no arguments. Pair it with fire() for publish and disabled() / locked() for other statuses.
Analysis
Performance Notes
Approach
Cost
Best for
fired()
O(1)
Status checks / guards
fire()
O(n) handlers
Actually invoking the list
Own boolean flag
O(1)
Fine, but fired() is built-in
Reading fired() is cheap. Prefer it over maintaining a separate hasFired variable next to a Callbacks list.
Remember
Key Takeaways
Role: boolean — has this list been invoked?
Sets flag:fire() and fireWith().
Sticky: stays true even when later fires are ignored.
Not disable: use disabled() for shutdown status.
One line:fired() answers “has this Callbacks list been invoked at least once?” — it never runs the handlers itself.
Frequently Asked Questions
fired() returns true if fire() or fireWith() has been called on the list at least once; otherwise false. It is a status check only — it does not invoke handlers.
No. fired() accepts no arguments. Flags such as once or memory belong on $.Callbacks("…") when you create the list.
fire() is the action that runs handlers. fired() answers whether that action has happened at least once. It returns a boolean and does not change the list.
After the first successful fire() or fireWith(). It remains true even if later fires are ignored (for example with the once flag).
fired() tracks whether the list has been invoked. disabled() tracks whether disable() shut the list down. A list can be fired but not disabled, or disabled without ever firing.
Use it to skip duplicate init, assert teardown only after init ran, debug late subscribers (with memory), or write tests that verify fire() was called.