How to test window.addEventListener function
Here is an event listener added, if I want to test if this event listener is working or not, how do I test? window.postMessage doesn't seem to be triggering this event. Basically, how do I trigger "some_event" so that my EventListener runs.
window.addEventListener('some_event', function()
console.log("some_event triggered");
);
Please note, I was able to reproduce with "click" event, but what I want to know is, how do I know if any string is passed as an event. Example:
window.addEventListener('add_to_cart', function()
console.log("some_event triggered");
);
So I would like to simulate this event listener to check if it's working or not. How do I test this.
javascript addeventlistener
add a comment |
Here is an event listener added, if I want to test if this event listener is working or not, how do I test? window.postMessage doesn't seem to be triggering this event. Basically, how do I trigger "some_event" so that my EventListener runs.
window.addEventListener('some_event', function()
console.log("some_event triggered");
);
Please note, I was able to reproduce with "click" event, but what I want to know is, how do I know if any string is passed as an event. Example:
window.addEventListener('add_to_cart', function()
console.log("some_event triggered");
);
So I would like to simulate this event listener to check if it's working or not. How do I test this.
javascript addeventlistener
Do you mean to write a test that clicks the dom for you and then proves if the window.addEventListener(...) got called? If yes.why do you want to check if native functionalities work?
– Jonathan Stellwag
Nov 8 '18 at 16:40
add a comment |
Here is an event listener added, if I want to test if this event listener is working or not, how do I test? window.postMessage doesn't seem to be triggering this event. Basically, how do I trigger "some_event" so that my EventListener runs.
window.addEventListener('some_event', function()
console.log("some_event triggered");
);
Please note, I was able to reproduce with "click" event, but what I want to know is, how do I know if any string is passed as an event. Example:
window.addEventListener('add_to_cart', function()
console.log("some_event triggered");
);
So I would like to simulate this event listener to check if it's working or not. How do I test this.
javascript addeventlistener
Here is an event listener added, if I want to test if this event listener is working or not, how do I test? window.postMessage doesn't seem to be triggering this event. Basically, how do I trigger "some_event" so that my EventListener runs.
window.addEventListener('some_event', function()
console.log("some_event triggered");
);
Please note, I was able to reproduce with "click" event, but what I want to know is, how do I know if any string is passed as an event. Example:
window.addEventListener('add_to_cart', function()
console.log("some_event triggered");
);
So I would like to simulate this event listener to check if it's working or not. How do I test this.
javascript addeventlistener
javascript addeventlistener
edited Nov 8 '18 at 16:43
yome
asked Nov 8 '18 at 16:38
yomeyome
3301510
3301510
Do you mean to write a test that clicks the dom for you and then proves if the window.addEventListener(...) got called? If yes.why do you want to check if native functionalities work?
– Jonathan Stellwag
Nov 8 '18 at 16:40
add a comment |
Do you mean to write a test that clicks the dom for you and then proves if the window.addEventListener(...) got called? If yes.why do you want to check if native functionalities work?
– Jonathan Stellwag
Nov 8 '18 at 16:40
Do you mean to write a test that clicks the dom for you and then proves if the window.addEventListener(...) got called? If yes.why do you want to check if native functionalities work?
– Jonathan Stellwag
Nov 8 '18 at 16:40
Do you mean to write a test that clicks the dom for you and then proves if the window.addEventListener(...) got called? If yes.why do you want to check if native functionalities work?
– Jonathan Stellwag
Nov 8 '18 at 16:40
add a comment |
2 Answers
2
active
oldest
votes
You need to use some concrete event name like for example click
- and click on browser page window - eg:
window.addEventListener('click', function()
console.log("some_event triggered");
);
Here is some info about events and situations when they are trigger.
After question update
Yes you can define and fire arbitrary events - read here. And here is some example code:
var event = new Event('some_event');
// Listen for the event.
window.addEventListener('some_event', function (e)
console.log('some_event triggered')
, false);
// Dispatch the event.
window.dispatchEvent(event);
So you fire event using window.dispatchEvent(event)
and this is the way you can test it.
add a comment |
You can trigger an event using dispatchEvent
and fireEvent
in IE.
var ev, element = window;
if (document.createEvent)
ev = document.createEvent("HTMLEvents");
ev.initEvent("eventname", true, true);
ev.eventName = "eventname";
element.dispatchEvent(ev);
else
ev = document.createEventObject();
ev.eventType = "eventname";
ev.eventName = "eventname";
element.fireEvent("on" + ev.eventType, event);
function triggerEvent(elem, name)
var ev;
if (document.createEvent)
ev = document.createEvent("HTMLEvents");
ev.initEvent(name, true, true);
ev.eventName = name;
elem.dispatchEvent(ev);
else
ev = document.createEventObject();
ev.eventType = name;
ev.eventName = name;
elem.fireEvent("on" + ev.eventType, event);
window.addEventListener("click", function(e)
console.log("Clicked");
);
window.addEventListener("custom_event", function(e)
console.log("custom_event triggered");
);
triggerEvent(window, "click");
triggerEvent(window, "custom_event");
add a comment |
Your Answer
StackExchange.ifUsing("editor", function ()
StackExchange.using("externalEditor", function ()
StackExchange.using("snippets", function ()
StackExchange.snippets.init();
);
);
, "code-snippets");
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "1"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53212231%2fhow-to-test-window-addeventlistener-function%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
2 Answers
2
active
oldest
votes
2 Answers
2
active
oldest
votes
active
oldest
votes
active
oldest
votes
You need to use some concrete event name like for example click
- and click on browser page window - eg:
window.addEventListener('click', function()
console.log("some_event triggered");
);
Here is some info about events and situations when they are trigger.
After question update
Yes you can define and fire arbitrary events - read here. And here is some example code:
var event = new Event('some_event');
// Listen for the event.
window.addEventListener('some_event', function (e)
console.log('some_event triggered')
, false);
// Dispatch the event.
window.dispatchEvent(event);
So you fire event using window.dispatchEvent(event)
and this is the way you can test it.
add a comment |
You need to use some concrete event name like for example click
- and click on browser page window - eg:
window.addEventListener('click', function()
console.log("some_event triggered");
);
Here is some info about events and situations when they are trigger.
After question update
Yes you can define and fire arbitrary events - read here. And here is some example code:
var event = new Event('some_event');
// Listen for the event.
window.addEventListener('some_event', function (e)
console.log('some_event triggered')
, false);
// Dispatch the event.
window.dispatchEvent(event);
So you fire event using window.dispatchEvent(event)
and this is the way you can test it.
add a comment |
You need to use some concrete event name like for example click
- and click on browser page window - eg:
window.addEventListener('click', function()
console.log("some_event triggered");
);
Here is some info about events and situations when they are trigger.
After question update
Yes you can define and fire arbitrary events - read here. And here is some example code:
var event = new Event('some_event');
// Listen for the event.
window.addEventListener('some_event', function (e)
console.log('some_event triggered')
, false);
// Dispatch the event.
window.dispatchEvent(event);
So you fire event using window.dispatchEvent(event)
and this is the way you can test it.
You need to use some concrete event name like for example click
- and click on browser page window - eg:
window.addEventListener('click', function()
console.log("some_event triggered");
);
Here is some info about events and situations when they are trigger.
After question update
Yes you can define and fire arbitrary events - read here. And here is some example code:
var event = new Event('some_event');
// Listen for the event.
window.addEventListener('some_event', function (e)
console.log('some_event triggered')
, false);
// Dispatch the event.
window.dispatchEvent(event);
So you fire event using window.dispatchEvent(event)
and this is the way you can test it.
edited Nov 8 '18 at 16:56
answered Nov 8 '18 at 16:40
Kamil KiełczewskiKamil Kiełczewski
9,76985993
9,76985993
add a comment |
add a comment |
You can trigger an event using dispatchEvent
and fireEvent
in IE.
var ev, element = window;
if (document.createEvent)
ev = document.createEvent("HTMLEvents");
ev.initEvent("eventname", true, true);
ev.eventName = "eventname";
element.dispatchEvent(ev);
else
ev = document.createEventObject();
ev.eventType = "eventname";
ev.eventName = "eventname";
element.fireEvent("on" + ev.eventType, event);
function triggerEvent(elem, name)
var ev;
if (document.createEvent)
ev = document.createEvent("HTMLEvents");
ev.initEvent(name, true, true);
ev.eventName = name;
elem.dispatchEvent(ev);
else
ev = document.createEventObject();
ev.eventType = name;
ev.eventName = name;
elem.fireEvent("on" + ev.eventType, event);
window.addEventListener("click", function(e)
console.log("Clicked");
);
window.addEventListener("custom_event", function(e)
console.log("custom_event triggered");
);
triggerEvent(window, "click");
triggerEvent(window, "custom_event");
add a comment |
You can trigger an event using dispatchEvent
and fireEvent
in IE.
var ev, element = window;
if (document.createEvent)
ev = document.createEvent("HTMLEvents");
ev.initEvent("eventname", true, true);
ev.eventName = "eventname";
element.dispatchEvent(ev);
else
ev = document.createEventObject();
ev.eventType = "eventname";
ev.eventName = "eventname";
element.fireEvent("on" + ev.eventType, event);
function triggerEvent(elem, name)
var ev;
if (document.createEvent)
ev = document.createEvent("HTMLEvents");
ev.initEvent(name, true, true);
ev.eventName = name;
elem.dispatchEvent(ev);
else
ev = document.createEventObject();
ev.eventType = name;
ev.eventName = name;
elem.fireEvent("on" + ev.eventType, event);
window.addEventListener("click", function(e)
console.log("Clicked");
);
window.addEventListener("custom_event", function(e)
console.log("custom_event triggered");
);
triggerEvent(window, "click");
triggerEvent(window, "custom_event");
add a comment |
You can trigger an event using dispatchEvent
and fireEvent
in IE.
var ev, element = window;
if (document.createEvent)
ev = document.createEvent("HTMLEvents");
ev.initEvent("eventname", true, true);
ev.eventName = "eventname";
element.dispatchEvent(ev);
else
ev = document.createEventObject();
ev.eventType = "eventname";
ev.eventName = "eventname";
element.fireEvent("on" + ev.eventType, event);
function triggerEvent(elem, name)
var ev;
if (document.createEvent)
ev = document.createEvent("HTMLEvents");
ev.initEvent(name, true, true);
ev.eventName = name;
elem.dispatchEvent(ev);
else
ev = document.createEventObject();
ev.eventType = name;
ev.eventName = name;
elem.fireEvent("on" + ev.eventType, event);
window.addEventListener("click", function(e)
console.log("Clicked");
);
window.addEventListener("custom_event", function(e)
console.log("custom_event triggered");
);
triggerEvent(window, "click");
triggerEvent(window, "custom_event");
You can trigger an event using dispatchEvent
and fireEvent
in IE.
var ev, element = window;
if (document.createEvent)
ev = document.createEvent("HTMLEvents");
ev.initEvent("eventname", true, true);
ev.eventName = "eventname";
element.dispatchEvent(ev);
else
ev = document.createEventObject();
ev.eventType = "eventname";
ev.eventName = "eventname";
element.fireEvent("on" + ev.eventType, event);
function triggerEvent(elem, name)
var ev;
if (document.createEvent)
ev = document.createEvent("HTMLEvents");
ev.initEvent(name, true, true);
ev.eventName = name;
elem.dispatchEvent(ev);
else
ev = document.createEventObject();
ev.eventType = name;
ev.eventName = name;
elem.fireEvent("on" + ev.eventType, event);
window.addEventListener("click", function(e)
console.log("Clicked");
);
window.addEventListener("custom_event", function(e)
console.log("custom_event triggered");
);
triggerEvent(window, "click");
triggerEvent(window, "custom_event");
function triggerEvent(elem, name)
var ev;
if (document.createEvent)
ev = document.createEvent("HTMLEvents");
ev.initEvent(name, true, true);
ev.eventName = name;
elem.dispatchEvent(ev);
else
ev = document.createEventObject();
ev.eventType = name;
ev.eventName = name;
elem.fireEvent("on" + ev.eventType, event);
window.addEventListener("click", function(e)
console.log("Clicked");
);
window.addEventListener("custom_event", function(e)
console.log("custom_event triggered");
);
triggerEvent(window, "click");
triggerEvent(window, "custom_event");
function triggerEvent(elem, name)
var ev;
if (document.createEvent)
ev = document.createEvent("HTMLEvents");
ev.initEvent(name, true, true);
ev.eventName = name;
elem.dispatchEvent(ev);
else
ev = document.createEventObject();
ev.eventType = name;
ev.eventName = name;
elem.fireEvent("on" + ev.eventType, event);
window.addEventListener("click", function(e)
console.log("Clicked");
);
window.addEventListener("custom_event", function(e)
console.log("custom_event triggered");
);
triggerEvent(window, "click");
triggerEvent(window, "custom_event");
edited Nov 11 '18 at 3:42
answered Nov 8 '18 at 16:45
hev1hev1
5,5783527
5,5783527
add a comment |
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53212231%2fhow-to-test-window-addeventlistener-function%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Do you mean to write a test that clicks the dom for you and then proves if the window.addEventListener(...) got called? If yes.why do you want to check if native functionalities work?
– Jonathan Stellwag
Nov 8 '18 at 16:40