Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
检测点击坐标Clojure_Clojure_Clojurescript - Fatal编程技术网

检测点击坐标Clojure

检测点击坐标Clojure,clojure,clojurescript,Clojure,Clojurescript,我有下面的ClojureScript代码,正在尝试检测单击的坐标。到目前为止,我甚至无法让Javascript警报识别点击,更不用说给我坐标了 我知道我将不得不编写一个函数,让它给我准确的单元格被点击,但作为一个开始,需要知道如何获得任何区域的坐标点击一页 谢谢 (defn header [color text] [:h1 {:style {:color color :background-color "blue"}} text]) (defn Cell []

我有下面的ClojureScript代码,正在尝试检测单击的坐标。到目前为止,我甚至无法让Javascript警报识别点击,更不用说给我坐标了

我知道我将不得不编写一个函数,让它给我准确的单元格被点击,但作为一个开始,需要知道如何获得任何区域的坐标点击一页

谢谢

(defn header [color text]
  [:h1
   {:style
    {:color color
     :background-color "blue"}}
   text])

(defn Cell []
  [:div
    {:style
     {:width "40px"
      :height "40px"
      :float "right"
      :margin-bottom "1px"
      :margin-right "1px"
      :background-color "grey"
      :border "1px" "solid" "white"}}])

(defn home-page []
  [:div
   [header "red" "Minesweeper"]
   [:div
    {:style
     {:width "440px"
      :height "440px"}}
    (repeat 100 [Cell])]])

:onClick
键置于与
:style
相同的贴图缩进级别。它的值应该是一个函数,它将获得一个事件
e
。然后:

(let [coords (.getClientPosition e)
      coords' {:x (aget coords "x")
               :y (aget coords "y")}])
下面是具有
:onClick
事件及其函数的hashmap示例:

{ :href "#"
  :onClick (fn [e]
               (.preventDefault e)
               (swap! counter inc))} 

上面提到的唯一重要的事情是获取
e
并使用它。这是从中提取的,我就是这样开始的。

:onClick
键置于与
:style
相同的贴图缩进级别。它的值应该是一个函数,它将获得一个事件
e
。然后:

(let [coords (.getClientPosition e)
      coords' {:x (aget coords "x")
               :y (aget coords "y")}])
下面是具有
:onClick
事件及其函数的hashmap示例:

{ :href "#"
  :onClick (fn [e]
               (.preventDefault e)
               (swap! counter inc))} 

上面提到的唯一重要的事情是获取
e
并使用它。这是从中提取的,这就是我开始的原因。

谢谢Chris,但我遇到了一个错误,说使用了未声明的Var cljs-mineswipper.core/getClientPosition.好吧,我尝试将其切换到(js/getClientPosition),错误消失了,但现在我得到了“使用未声明的Var cljs mineswipper.core/e”这样的运气。我是Clojure的新手,所以我确定我在将:onClick的值设置为函数时出错了。好的-我会找到一个:onClick(我的引用是Om,所以可能会有所不同)。通常人们使用React,这意味着他们使用试剂或Om。可能只是
(.getClientPosition e)
中的打字错误让Jessie感到困惑。谢谢你,Chris,但我收到一个错误,说使用了未声明的Var cljs-mineswipper.core/getClientPosition。我试着将其切换到(js/getClientPosition)这个错误消失了,但现在我得到了“使用未声明的Var cljs mineswipper.core/e”这样的运气。我是Clojure的新手,所以我确定我在将:onClick的值设置为函数时出错了。好的-我会找到一个:onClick(我的引用是Om,所以可能会有所不同)。通常人们使用React,这意味着他们使用试剂或Om。可能只是
(.getclientposition e)
中的打字错误让Jessie感到困惑。