aboutsummaryrefslogtreecommitdiffstats
path: root/src/jquery.js
diff options
context:
space:
mode:
authorMichał Gołębiowski-Owczarek <m.goleb@gmail.com>2023-03-27 21:24:42 +0200
committerGitHub <noreply@github.com>2023-03-27 21:24:42 +0200
commit59f7b55bf6dad71eee6434116566356d597f1d90 (patch)
treedc6940dbcb6afc293ef659ef9b6894ed6e3857cd /src/jquery.js
parent4837a95b367faa613105a03fa0cb8b8fc50c02d4 (diff)
downloadjquery-59f7b55bf6dad71eee6434116566356d597f1d90.tar.gz
jquery-59f7b55bf6dad71eee6434116566356d597f1d90.zip
Event: Simulate focus/blur in IE via focusin/focusout (3.x version)
In IE (all versions), `focus` & `blur` handlers are fired asynchronously but `focusin` & `focusout` are run synchronously. In other browsers, all those handlers are fired synchronously. Asynchronous behavior of these handlers in IE caused issues for IE (gh-4856, gh-4859). We now simulate `focus` via `focusin` & `blur` via `focusout` in IE to avoid these issues. This also let us simplify some tests. This commit also simplifies `leverageNative` - with IE now using `focusin` to simulate `focus` and `focusout` to simulate `blur`, we don't have to deal with async events in `leverageNative`. This also fixes broken `focus` triggers after first triggering it on a hidden element - previously, `leverageNative` assumed that the native `focus` handler not firing after calling the native `focus` method meant it would be handled later, asynchronously, which was not the case (gh-4950). To preserve relative `focusin`/`focus` & `focusout`/`blur` event order guaranteed on the 3.x branch, attach a single handler for both events in IE. A side effect of this is that to reduce size the `event/focusin` module no longer exists and it's impossible to disable the `focusin` patch in modern browsers via the jQuery custom build system. Fixes gh-4856 Fixes gh-4859 Fixes gh-4950 Ref gh-5223 Closes gh-5224 Co-authored-by: Richard Gibson <richard.gibson@gmail.com>
Diffstat (limited to 'src/jquery.js')
-rw-r--r--src/jquery.js1
1 files changed, 0 insertions, 1 deletions
diff --git a/src/jquery.js b/src/jquery.js
index 0c144c194..46cda5e4b 100644
--- a/src/jquery.js
+++ b/src/jquery.js
@@ -11,7 +11,6 @@ define( [
"./queue/delay",
"./attributes",
"./event",
- "./event/focusin",
"./manipulation",
"./manipulation/_evalUrl",
"./wrap",