Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/twbs/bootstrap.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSascha <mail@sascha.dev>2020-11-01 16:32:36 +0300
committerGitHub <noreply@github.com>2020-11-01 16:32:36 +0300
commitc21506d499c682ea5e31107ce264b224c4bb644d (patch)
treec2f0ec5f54fb64bde3db98d090485d88b51e0960 /js/src/scrollspy.js
parent3a5f9f5cf004ff02eca0b1680b461b79dd61d980 (diff)
Fix TypeError when Bootstrap is included in `head` (#32024)
* extend jquery after domContentLoaded event is fired * add unittest for util onDOMContentLoaded * wait for trigger jquery event after domContentLoaded * remove domcontentready from eventHandler * move istanbul ignore statements to correct line Co-authored-by: XhmikosR <xhmikosr@gmail.com>
Diffstat (limited to 'js/src/scrollspy.js')
-rw-r--r--js/src/scrollspy.js25
1 files changed, 14 insertions, 11 deletions
diff --git a/js/src/scrollspy.js b/js/src/scrollspy.js
index d37ca923dc..a0061b7e1e 100644
--- a/js/src/scrollspy.js
+++ b/js/src/scrollspy.js
@@ -7,6 +7,7 @@
import {
getjQuery,
+ onDOMContentLoaded,
getSelectorFromElement,
getUID,
isElement,
@@ -317,22 +318,24 @@ EventHandler.on(window, EVENT_LOAD_DATA_API, () => {
.forEach(spy => new ScrollSpy(spy, Manipulator.getDataAttributes(spy)))
})
-const $ = getjQuery()
-
/**
* ------------------------------------------------------------------------
* jQuery
* ------------------------------------------------------------------------
*/
-/* istanbul ignore if */
-if ($) {
- const JQUERY_NO_CONFLICT = $.fn[NAME]
- $.fn[NAME] = ScrollSpy.jQueryInterface
- $.fn[NAME].Constructor = ScrollSpy
- $.fn[NAME].noConflict = () => {
- $.fn[NAME] = JQUERY_NO_CONFLICT
- return ScrollSpy.jQueryInterface
+
+onDOMContentLoaded(() => {
+ const $ = getjQuery()
+ /* istanbul ignore if */
+ if ($) {
+ const JQUERY_NO_CONFLICT = $.fn[NAME]
+ $.fn[NAME] = ScrollSpy.jQueryInterface
+ $.fn[NAME].Constructor = ScrollSpy
+ $.fn[NAME].noConflict = () => {
+ $.fn[NAME] = JQUERY_NO_CONFLICT
+ return ScrollSpy.jQueryInterface
+ }
}
-}
+})
export default ScrollSpy