Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Accessing "this" in Clojurescript

Is there a way to access the "this" object in clojurescript?

I am having issues with event propagation when I wrap an icon with an anchor and try to attach a handlder to the anchor. Without access to "this" in the handler I am constantly dealing with the inner icon firing the event sometimes and the anchor firing other times.

edit:

As was suggested below, this-as is the way to do this. An example could be

(defn my-handler
  [e]
  (this-as this
    (let [data-attr (.data ($ this) "my-attr")]
      (log data-attr))))
like image 299
Jon Rose Avatar asked Mar 20 '13 17:03

Jon Rose


1 Answers

Use ClojureScript's this-as macro: https://github.com/clojure/clojurescript/commit/09ff093dc86b455e3090ce3612c5e01f3b5bada6.

like image 96
eagleflo Avatar answered Oct 22 '22 06:10

eagleflo