mirror of
https://github.com/jquery/jquery.git
synced 2024-11-23 02:54:22 +00:00
754108fbbf
In `leverageNative`, instead of calling `event.stopImmediatePropagation()`
which would abort both native & jQuery handlers, set the wrapper's
`isImmediatePropagationStopped` property to a function returning `true`.
Since for each element + type pair jQuery attaches only one native handler,
there is also only one wrapper jQuery event so this achieves the goal:
on the target element jQuery handlers don't fire but native ones do.
Unfortunately, this workaround doesn't work for handlers on ancestors
- since the native event is re-wrapped by a jQuery one on each level of
the propagation, the only way to stop it for jQuery was to stop it for
everyone via native `stopPropagation()`. This is not a problem for
`focus`/`blur` which don't bubble, but it does also stop `click` on
checkboxes and radios. We accept this limitation.
Fixes gh-5015
Closes gh-5228
(cherry picked from commit
|
||
---|---|---|
.. | ||
ajax.js | ||
animation.js | ||
attributes.js | ||
basic.js | ||
callbacks.js | ||
core.js | ||
css.js | ||
data.js | ||
deferred.js | ||
deprecated.js | ||
dimensions.js | ||
effects.js | ||
event.js | ||
exports.js | ||
manipulation.js | ||
offset.js | ||
queue.js | ||
ready.js | ||
selector.js | ||
serialize.js | ||
support.js | ||
traversing.js | ||
tween.js | ||
wrap.js |