Why does the following not trigger the alert?
document.addEventListener('reset', function(event) {
alert('Reset clicked!');
});
document.querySelector('button').addEventListener('click', () => {
document.querySelector('span').dispatchEvent(new Event('reset', { bubbles: true }));
});
<form>
<span>
<button>Reset</button>
</span>
</form>
However, if I change the form
tag to a div
, it works as expected:
document.addEventListener('reset', function(event) {
alert('Reset clicked!');
});
document.querySelector('button').addEventListener('click', () => {
document.querySelector('span').dispatchEvent(new Event('reset', { bubbles: true }));
});
<div>
<span>
<button>Reset</button>
</span>
</div>
I’ve also tried changing the event name to something other than “reset” and again it works as expected.