aboutsummaryrefslogtreecommitdiff
path: root/js/src/button.js
diff options
context:
space:
mode:
authorSascha <[email protected]>2020-11-01 14:32:36 +0100
committerGitHub <[email protected]>2020-11-01 15:32:36 +0200
commitc21506d499c682ea5e31107ce264b224c4bb644d (patch)
treec2f0ec5f54fb64bde3db98d090485d88b51e0960 /js/src/button.js
parent3a5f9f5cf004ff02eca0b1680b461b79dd61d980 (diff)
downloadbootstrap-c21506d499c682ea5e31107ce264b224c4bb644d.tar.xz
bootstrap-c21506d499c682ea5e31107ce264b224c4bb644d.zip
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 <[email protected]>
Diffstat (limited to 'js/src/button.js')
-rw-r--r--js/src/button.js28
1 files changed, 15 insertions, 13 deletions
diff --git a/js/src/button.js b/js/src/button.js
index f80b5e28c..c520aa117 100644
--- a/js/src/button.js
+++ b/js/src/button.js
@@ -5,7 +5,7 @@
* --------------------------------------------------------------------------
*/
-import { getjQuery } from './util/index'
+import { getjQuery, onDOMContentLoaded } from './util/index'
import Data from './dom/data'
import EventHandler from './dom/event-handler'
@@ -97,24 +97,26 @@ EventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, event => {
data.toggle()
})
-const $ = getjQuery()
-
/**
* ------------------------------------------------------------------------
* jQuery
* ------------------------------------------------------------------------
* add .button to jQuery only if jQuery is present
*/
-/* istanbul ignore if */
-if ($) {
- const JQUERY_NO_CONFLICT = $.fn[NAME]
- $.fn[NAME] = Button.jQueryInterface
- $.fn[NAME].Constructor = Button
-
- $.fn[NAME].noConflict = () => {
- $.fn[NAME] = JQUERY_NO_CONFLICT
- return Button.jQueryInterface
+
+onDOMContentLoaded(() => {
+ const $ = getjQuery()
+ /* istanbul ignore if */
+ if ($) {
+ const JQUERY_NO_CONFLICT = $.fn[NAME]
+ $.fn[NAME] = Button.jQueryInterface
+ $.fn[NAME].Constructor = Button
+
+ $.fn[NAME].noConflict = () => {
+ $.fn[NAME] = JQUERY_NO_CONFLICT
+ return Button.jQueryInterface
+ }
}
-}
+})
export default Button