diff options
Diffstat (limited to 'lib/dom_utils.coffee')
| -rw-r--r-- | lib/dom_utils.coffee | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/lib/dom_utils.coffee b/lib/dom_utils.coffee index 3fc08b78..9a6c1b09 100644 --- a/lib/dom_utils.coffee +++ b/lib/dom_utils.coffee @@ -3,15 +3,15 @@ DomUtils = # Runs :callback if the DOM has loaded, otherwise runs it on load # documentReady: do -> - isReady = false - (callback) -> - if document.readyState == "loading" and not isReady - window.addEventListener "DOMContentLoaded", handler = -> - isReady = true - window.removeEventListener "DOMContentLoaded", handler - callback() - else - callback() + [isReady, callbacks] = [document.readyState != "loading", []] + unless isReady + window.addEventListener "DOMContentLoaded", onDOMContentLoaded = -> + window.removeEventListener "DOMContentLoaded", onDOMContentLoaded + isReady = true + callback() for callback in callbacks + callbacks = null + + (callback) -> if isReady then callback() else callbacks.push callback createElement: (tagName) -> element = document.createElement tagName |
