I am trying to override onload function of document and Image in ClojureScript. I think that set! should be possible to do it, but i am not getting any success. Relevant code is as follows :
(defn load-image [img-path]
  (let [img (js/Image.)]
    (do (set! (.-src img) img-path)
        img)))
(defn add-img-canvas [img-path width height]
  (let [img (load-image img-path)]
    (set! (.-onload img) 
          (fn [] ;; This function is never called.
            (let [canvas (get-scaled-canvas img width height)]
              (do (pr-str canvas)
                  (swap! game-state :canvas canvas)))))))
(defn hello-world []
  (let [count (atom 1)]
    (fn []
      [:div 
       [:h1 (:text @game-state)]
       [:div (do (swap! count inc) (str "count is " @count))]
       [:canvas (:canvas @game-state)]])))
(reagent/render-component [hello-world]
                          (. js/document (getElementById "app")))
(set! (.-onload js/document) 
      (fn [] ;; This function is also never called.
        (add-img-canvas (:img-src game-state) 100 130)))
;;(. js/document onload)
Anonymous functions in add-img-canvas is not getting called. What am i doing wrong ?
 
    