callbacks.disabled() tells you whether a Callbacks list has been disabled (since jQuery 1.7). The official API: determine if the callbacks list has been disabled. It returns a boolean and does not change the list.
Remember
callbacks.disabled() → false (fresh list)
callbacks.disable()
callbacks.disabled() → true
// Read-only — does NOT call disable()
// No enable() exists
Locked list.locked() is true; disabled() stays false.
Disabled list.disabled() is true; locked() stays false.
Different flags. Do not use one to infer the other.
Pick the right check for the action you care about (membership vs firing).
Edge Cases & Pitfalls
Check these before relying on disabled() in shared code.
verb
Name trap: disabled ≠ disable
disabled() never shuts the list down. Calling it alone leaves firing intact.
sticky
Stays true forever
After disable(), disabled() cannot return false again on that object. Create a new list if needed.
lock
Locked ≠ disabled
A locked list can still fire. Check locked() and disabled() separately.
optional
Guards are optional but useful
fire() on a disabled list is already safe. Use disabled() when you want logs or early returns.
fired
Not the same as fired()
fired() asks whether the list has been invoked at least once — unrelated to the disabled flag.
Compatibility
Browser Support
callbacks.disabled() is part of jQuery’s Callbacks API (since 1.7). It works in any browser where your jQuery build runs — the status flag lives in jQuery, not as a separate browser API.
✓ jQuery 1.7+ · Browsers
jQuery callbacks.disabled()
Supported in jQuery 1.x, 2.x, and 3.x across Chrome, Firefox, Safari, Edge, and other browsers with jQuery loaded.
100%With jQuery loaded
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.disabled()Browsers
Bottom line: Safe wherever jQuery is loaded. Pair with disable() for the action and disabled() for the status check.
Analysis
Performance Notes
Operation
Cost
Best for
disabled()
O(1)
Status checks and guards
disable()
O(1)
One-time teardown
Guard + fire
O(1) + O(n)
Shared helpers that need clear logs
Reading disabled() is a cheap boolean check. Use it freely in helpers. Avoid wrapping every single hot-path fire() unless you need the extra logging — the native no-op is already safe.
Remember
Key Takeaways
Role:disabled() answers “is this list shut down?”
Action: use disable() to flip the flag permanently.
Guards: check before fire/subscribe for clearer plugin APIs.
vs locked: different flag — check the one that matches your intent.
One line:disable() acts; disabled() asks.
Frequently Asked Questions
disabled() is a read-only status check. It returns true if disable() was called on the list, otherwise false. It does not disable anything itself — use disable() for the action.
disable() is the verb — it permanently shuts down the list. disabled() is the question — "is this list shut down?" It returns a boolean and leaves the list unchanged.
On a freshly created $.Callbacks() list, and on any list that has never had disable() called. Active lists that still accept fire() return false.
No. disabled() only reads state. jQuery provides no enable() method. Once disable() runs, disabled() stays true forever for that list object.
fire() on a disabled list is already a safe no-op, but checking disabled() first can avoid pointless calls and produce clearer logs in shared utilities or plugin code.
disabled() reflects whether disable() was called. locked() reflects whether lock() was called — a different state. A list can be locked but not disabled, or disabled but not locked.