Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /**
- * Konami Code Event Listener
- * By: Daryl Pinto
- *
- * Example usage:
- * ```
- * import "konami-code-listener.js";
- *
- * document.addEventListener("konamicode", function() {
- * alert("Hello world!");
- * });
- * ```
- */
- export default (() => {
- //Prevent IE from failing to load page
- if(!window || typeof window.CustomEvent != "function") return;
- // Keys
- const LEFT = 37;
- const UP = 38;
- const RIGHT = 39;
- const DOWN = 40;
- const B = 66;
- const A = 65;
- const START = 13;
- const valid_seq = [UP, UP, DOWN, DOWN, LEFT, RIGHT, LEFT, RIGHT, B, A, START].toString();
- // Event
- let konamicode = new Event("konamicode");
- let seq = [];
- document.addEventListener("keydown", function(e){
- seq.push(e.keyCode);
- if(!valid_seq.startsWith(seq.toString())) seq = [];
- else if(valid_seq === seq.toString()) document.dispatchEvent(konamicode);
- });
- })();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement