diff options
Diffstat (limited to 'lib')
| -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 | 
