diff options
Diffstat (limited to 'js/src/util')
| -rw-r--r-- | js/src/util/index.js | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/js/src/util/index.js b/js/src/util/index.js index 6edfaa580..064b4e943 100644 --- a/js/src/util/index.js +++ b/js/src/util/index.js @@ -201,9 +201,18 @@ const getjQuery = () => { return null } +const DOMContentLoadedCallbacks = [] + const onDOMContentLoaded = callback => { if (document.readyState === 'loading') { - document.addEventListener('DOMContentLoaded', callback) + // add listener on the first call when the document is in loading state + if (!DOMContentLoadedCallbacks.length) { + document.addEventListener('DOMContentLoaded', () => { + DOMContentLoadedCallbacks.forEach(callback => callback()) + }) + } + + DOMContentLoadedCallbacks.push(callback) } else { callback() } |
