首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用这个-与enfocus的listen-live一样

使用这个-与enfocus的listen-live一样
EN

Stack Overflow用户
提问于 2015-02-26 21:06:48
回答 1查看 36关注 0票数 0

我在enfocus的listen-live上使用this-as时遇到了问题。我使用listen-live而不是listen,因为我使用javascript生成button元素。

在下面的最小工作代码中,有一个使用从clojurescript生成的test.jsHTML文件/path/to/file.html。当单击该按钮时,我希望控制台记录button元素,但我收到的却是Window -> /path/to/file.html

file.html

代码语言:javascript
复制
<html>
  <head>
    <script type="text/javascript" src="test.js"></script>
  </head>
  <body>
    <div class="outer">
      <button>Button</button>
    </div>
  </body>
</html>

file.cljs

代码语言:javascript
复制
(ns my.ns
  (:require [enfocus.events :as events])
  (:require-macros [enfocus.macros :as em]))

(em/defaction setup []
  [:.outer] (events/listen-live :click "button"
                                (fn [] (this-as this (js/console.log this)))))

(set! (.-onload js/window) setup)

我对javascript不是很熟悉,但我希望记录button.outer元素。收到Window元素后,我想知道是不是有一些基本的使用问题,或者是enfocus的问题。

EN

回答 1

Stack Overflow用户

发布于 2015-02-27 19:45:46

可能不是很理想,也不是很地道,但下面的方法对我很有效:

代码语言:javascript
复制
(em/defaction setup []
  [:.outer] (events/listen-live :click "button"
                                (fn [e] (js/console.log (.-currentTarget e)))))

=> <button>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28743303

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档