0
我正在使用enfocus進行ClojuseScript中的dom操作。enfocus(clojurescript)中的事件處理不起作用
我有一個事件處理程序:
(ns numeros-linguas.script
(:require [enfocus.core :as ef]
[enfocus.events :as ev])
(:require-macros [enfocus.macros :as em]))
(defn aviso-seleciona []
(ef/at "select" (ev/listen :change
(fn [evt]
(let [lingua-id (ef/from [:select] (ef/get-prop :value))
lingua-selector (str "#" lingua-id)
cores (array "azul" "vermelho" "laranja" "verde")
linguas-visiveis (when-let [r (ef/from [:#resultado :> :div.visivel] (ef/get-attr :id))]
(-> r
list
flatten))]
(ef/at "#resultado" (ef/append (ef/from lingua-selector identity)))
(ef/at lingua-selector (ef/remove-class "invisivel"))
(ef/at lingua-selector (ef/add-class "visivel"))
(map #(do
(ef/at (str "#" %)
(ef/add-class %2))
(map (fn [cor]
(ef/at (str "#" %)
(ef/remove-class cor)))
(remove #{%2} cores)))
linguas-visiveis cores))))))
(set! (.-onload js/window)
aviso-seleciona)
棘手的部分是在地圖上。我想從一些div元素中刪除一些css類,並在這些元素上添加一些其他元素。但它不起作用。除此之外,表單中的所有其他元素都在工作。但是,如果我將表單複製並粘貼到連接到該頁面的repl上並運行代碼,則按預期工作。我嘗試對部分代碼進行評論,以瞭解發生了什麼但沒有希望。