diff options
| author | Michael Richardson <[email protected]> | 2022-03-23 13:05:49 -0400 |
|---|---|---|
| committer | Michael Richardson <[email protected]> | 2022-03-23 13:05:49 -0400 |
| commit | c92001c42a56fbbb2b7d79d18bfa377ba63c22de (patch) | |
| tree | cf6fd8e9887fcbd87f3f0a802fa6a5109a025e8f /common | |
| parent | d71019a352321c7bbe3cd4735db60390cf5fc425 (diff) | |
| download | raylib.com-c92001c42a56fbbb2b7d79d18bfa377ba63c22de.tar.gz raylib.com-c92001c42a56fbbb2b7d79d18bfa377ba63c22de.zip | |
Move code to standalone file and add to all loaders
Diffstat (limited to 'common')
| -rw-r--r-- | common/disable-arrow-scroll.js | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/common/disable-arrow-scroll.js b/common/disable-arrow-scroll.js new file mode 100644 index 0000000..150e9d1 --- /dev/null +++ b/common/disable-arrow-scroll.js @@ -0,0 +1,47 @@ +window.addEventListener("DOMContentLoaded", () => { + var clickedInCanvas = false; + var warning = document.createElement("div"); + warning.innerHTML = + "Arrow key scrolling disabled.<br />Click outside canvas or press Escape to enable again."; + warning.style.padding = "1em"; + warning.style.color = "white"; + warning.style.backgroundColor = "red"; + warning.style.position = "fixed"; + warning.style.bottom = 0; + warning.style.left = 0; + warning.style.right = 0; + warning.style.textAlign = "center"; + warning.id = "no-scroll-warning-20220323"; + warning.style.display = "none"; + warning.style.fontFamily = + "grixel_acme_7_wide_xtnd, Courier New, Verdana, Arial"; + document.body.appendChild(warning); + + function update() { + warning.style.display = clickedInCanvas ? "block" : "none"; + } + + window.addEventListener("click", (ev) => { + clickedInCanvas = ev.target.tagName.toUpperCase() == "CANVAS"; + update(); + }); + window.addEventListener( + "keydown", + (ev) => { + if (clickedInCanvas) { + if ( + ["Space", "ArrowUp", "ArrowDown", "ArrowLeft", "ArrowRight"].indexOf( + ev.code + ) > -1 + ) { + ev.preventDefault(); + } + } + if (ev.code == "Escape") { + clickedInCanvas = false; + update(); + } + }, + false + ); +}); |
