Calling a Custom Event Without CSS Selector

Avatar

Avatar

LeoS_Taco

Avatar

LeoS_Taco

LeoS_Taco

30-10-2017

Hello,

I'm trying to create an event rule for a page where most events are driven by ReactVR objects, not by DOM API or CSS.

I know that I can create a custom event, and track a click that way. (I found the answer here) But, because there aren't any CSS selector to latch onto, I'd like to know if and how I can get around having to use the CSS selector or if there's a trick for that.

Thanks in advance!

Accepted Solutions (1)

Accepted Solutions (1)

Avatar

Avatar

joshd7227840

MVP

Avatar

joshd7227840

MVP

joshd7227840
MVP

01-11-2017

If you want to use this type of Event Based Rule, you can use body as the CSS selector:

chrome_2017-11-01_19-48-35 - Copy.png

I don't know how ReactVR works so I don't know what you do for creating/dispatching custom events, so here is a pure js example:

var myEvent = new CustomEvent('myEvent', { foo : 'bar' });
document.querySelector('body').dispatchEvent(myEvent);

Alternatively, you may consider creating a Direct Call Rule (DCR) instead.  A DCR takes a single string value as a condition, e.g. "foobar" (no quotes).  Then you simply call it like so:

_satellite.track("foobar");

Answers (2)

Answers (2)

Avatar

Avatar

Viddyw

Employee

Avatar

Viddyw

Employee

Viddyw
Employee

20-12-2017

This worked for me within the context of just pure JS on an AEM site. There was an existing function that fired upon the site action I was trying to measure and I just added this event within that JS function. Listening for just the body worked great! One note is that it wasn't working until I checked the "apply event handler directly to element" check box

Avatar

Avatar

jantzen_belliston-Adobe

Community Manager

Total Posts

(val/1000)?string[".0"]}K

Likes

308

Correct Answer

570

Avatar

jantzen_belliston-Adobe

Community Manager

Total Posts

(val/1000)?string[".0"]}K

Likes

308

Correct Answer

570
jantzen_belliston-Adobe
Community Manager

17-11-2017

Leo Shvedsky

Does the previous reply answer your question? If so, would you mind marking it as the correct answer?

Cheers,
Jantzen