Jon Rose
Jon Rose

Reputation: 1507

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))))

Upvotes: 28

Views: 6206

Answers (1)

eagleflo
eagleflo

Reputation: 1204

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

Upvotes: 36

Related Questions