使用 JavaScript Interop

(ns so-doc.events)

(enable-console-print!)

(defn click-event []
  (println "Button clicked"))

(defn load-event []
  (println "Page loaded!")
  (.addEventListener (.getElementById js/document "btn") "click" click-event false))

(.addEventListener js/window "load" load-event false)

与普通的 Javascript 一样,此方法需要特定于浏览器的处理。例如,这在 Internet Explorer 中不起作用。

与 Google Closure 不同,JavaScript 可以轻松支持页面加载事件。