Call it on the event object before or after stopImmediatePropagation().
Bind one or more handlers on the same element with .on().
In a handler (or helper), call event.isImmediatePropagationStopped().
Call event.stopImmediatePropagation() when the queue must end.
Call the check again — now true (“called” in the official demo).
Remember: later handlers on that element will not run for this click.
Piece
Required?
Role
event
Yes
jQuery event object in the handler
stopImmediatePropagation()
To halt
Sets the flag this method reads
isImmediatePropagationStopped()
—
Returns true / false
Arguments
None
Method takes no parameters
Pseudocode
Pseudocode
element.on("click", handlerA)
element.on("click", handlerB)
when click fires:
call handlerA(event):
isImmediatePropagationStopped() → false
if need to halt queue:
stopImmediatePropagation()
isImmediatePropagationStopped() → true
// handlerB is NOT called
// With stopPropagation() only:
handlerB still runs; parents do not
Reference
Cheat Sheet
Keep these facts handy while coordinating multiple handlers.
Helper. Reads the flag and appends called / not called.
Before. Nothing stopped yet → not called.
Stop.stopImmediatePropagation() sets the flag.
After. Same check → called.
Example 2 — Second Handler Never Runs
Halt the queue so a later same-element handler is skipped.
jQuery
$("#btn").on("click", function (event) {
$("#out").text("Handler A ran.\\n");
event.stopImmediatePropagation();
});
$("#btn").on("click", function () {
$("#out").append("Handler B ran."); // never runs
});
Halt checked →
not called
called
Halt unchecked →
not called
not called
How It Works
Helper. Only reads isImmediatePropagationStopped().
Optional stop. Checkbox decides whether to halt.
Second report. Shows called only after a stop.
Reuse. Same helper works before and after the stop call.
Example 5 — Parent Does Not Receive the Bubble
stopImmediatePropagation() also stops bubbling to parents.
jQuery
$("#child").on("click", function (event) {
event.stopImmediatePropagation();
$("#out").text(
"child stopped. immediate? " +
event.isImmediatePropagationStopped()
);
});
$("#parent").on("click", function () {
$("#out").append("\\nparent ran"); // does not run
});
event.isImmediatePropagationStopped() is a jQuery event-object method available since 1.3. The related stop/check APIs align with DOM Level 3 event ideas. Works wherever your loaded jQuery version runs.
✓ Stable · jQuery 1.3+
isImmediatePropagationStopped()
Supported in jQuery 1.3–3.x. Prefer jQuery 3.x with .on() handlers. Pair with stopImmediatePropagation() to halt the same-element handler queue.
100%With jQuery 1.3+
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
isImmediate…StoppedjQuery 1.3+
Bottom line: Safe for production. Call stopImmediatePropagation() to halt; call isImmediatePropagationStopped() to ask whether it already happened.
Analysis
Performance Notes
Approach
Cost
Best for
isImmediatePropagationStopped()
Free
Reading a boolean flag
stopImmediatePropagation()
Cheap
Ending a busy same-element queue early
Many handlers per element
Can add up
Stop early when work is done
The check itself is free. The win is skipping leftover handlers you no longer need for that click.
Effect: remaining same-element handlers + bubbling are stopped.
vs stopPropagation: weaker — B still runs; immediate flag stays false.
One line:isImmediatePropagationStopped() answers “did someone already kill this element’s handler queue?”
Frequently Asked Questions
It returns true if event.stopImmediatePropagation() was called on this event object, and false otherwise. It takes no arguments. Available since jQuery 1.3.
When a helper or later logic needs to know whether the handler queue on this element was already halted — for example, skipping analytics after a primary handler called stopImmediatePropagation().
stopPropagation() stops bubbling to parents but other handlers on the same element still run. stopImmediatePropagation() stops remaining same-element handlers and also stops bubbling.
No. isPropagationStopped() reports stopPropagation(). isImmediatePropagationStopped() reports stopImmediatePropagation(). Calling stopImmediate also implies propagation was stopped, but stopPropagation alone does not set the immediate flag.
No. The check is read-only. Once stopImmediatePropagation() runs, remaining handlers on that element are skipped for the current dispatch.
No. In jQuery, return false calls preventDefault() and stopPropagation() only. Remaining handlers on the same element may still run unless you call stopImmediatePropagation() explicitly.