Communities

Writing
Writing
Codidact Meta
Codidact Meta
The Great Outdoors
The Great Outdoors
Photography & Video
Photography & Video
Scientific Speculation
Scientific Speculation
Cooking
Cooking
Electrical Engineering
Electrical Engineering
Judaism
Judaism
Languages & Linguistics
Languages & Linguistics
Software Development
Software Development
Mathematics
Mathematics
Christianity
Christianity
Code Golf
Code Golf
Music
Music
Physics
Physics
Linux Systems
Linux Systems
Power Users
Power Users
Tabletop RPGs
Tabletop RPGs
Notifications
Mark all as read
Q&A

Why does a keydown event is listened only once?

+1
−1

The following code (credit for user:hkotsubo) moves the user to another page if Alt+Shift+E are pressed together.

window.addEventListener('DOMContentLoaded', () => {
  let domain = window.location.host;
  let protocol = window.location.protocol;
  let h1 = document.querySelector("h1");

  window.addEventListener('keydown', function(event) {
      if (event.altKey && event.shiftKey && event.key === 'E') {
          window.location.href = `${protocol}//${domain}/index.php?title=${h1.innerText}&action=edit`;
      }
  });
});

I have the problem that the code can only run once.
Even if I run it from a user script manager so it's always in the background, still, I can use it to move a user to the edit page only once per page load, so if I want to use it again I have to refresh the page.

Why is this problem happening and how would you suggest to solve it?

Why does this post require moderator attention?
You might want to add some details to your flag.
Why should this post be closed?

1 comment thread

How would it run multiple times? (5 comments)

0 answers

Sign up to answer this question »

This community is part of the Codidact network. We have other communities too — take a look!

You can also join us in chat!

Want to advertise this community? Use our templates!

Like what we're doing? Support us! Donate