11/**
22
3- Author: Stefan Baumgartner (@ddprrt)
4- File: konamicode.js
3+ Author: Stefan Baumgartner (@ddprrt)
4+ File: konamicode.js
55
6- Description: Adds the konamicode to any element on your website. You can add a multitude
7- of callbacks.
8-
6+ Description: Adds the konamicode to any element on your website. You can add a multitude
7+ of callbacks.
8+
99**/
1010
11- ! function ( window , undefined ) {
11+ ; ( function ( window , undefined ) {
1212
13- 'use strict' ;
13+ 'use strict' ;
1414
15- var keyCodes = [ 38 , 38 , 40 , 40 , 37 , 39 , 37 , 39 , 66 , 65 ] ,
16- elems = { } ;
15+ var keyCodes = [ 38 , 38 , 40 , 40 , 37 , 39 , 37 , 39 , 66 , 65 ] ,
16+ elems = { } ;
1717
18- window . konamicode = function ( elem , callback ) {
19- if ( ! elems [ elem ] ) {
20- elems [ elem ] = new KonamiCode ( elem ) ;
21- }
18+ window . konamicode = function ( elem , callback ) {
19+ if ( ! elems [ elem ] ) {
20+ elems [ elem ] = new KonamiCode ( elem ) ;
21+ }
2222
23- elems [ elem ] . addCallback ( callback ) ;
24- }
23+ elems [ elem ] . addCallback ( callback ) ;
24+ }
2525
26- function KonamiCode ( elem ) {
27- var that = this ;
28- that . elem = elem ;
29- if ( that . elem . addEventListener ) {
30- that . elem . addEventListener ( 'keyup' , check , false ) ;
31- } else if ( that . elem . attachEvent ) {
32- that . elem . attachEvent ( 'onkeyup' , check ) ;
33- }
26+ function KonamiCode ( elem ) {
27+ var that = this ;
28+ that . elem = elem ;
29+ if ( that . elem . addEventListener ) {
30+ that . elem . addEventListener ( 'keyup' , check , false ) ;
31+ } else if ( that . elem . attachEvent ) {
32+ that . elem . attachEvent ( 'onkeyup' , check ) ;
33+ }
3434
35- function check ( ev ) {
36- that . checkPosition ( ev ) ;
37- }
38- }
35+ function check ( ev ) {
36+ that . checkPosition ( ev ) ;
37+ }
38+ }
3939
40- KonamiCode . prototype = {
41- position : 0 ,
42- callbacks : [ ] ,
43- addCallback : function ( callback ) {
44- this . callbacks . push ( callback ) ;
45- } ,
46- executeCallbacks : function ( ) {
47- var i = 0 ,
48- len = this . callbacks . length ;
40+ KonamiCode . prototype = {
41+ position : 0 ,
42+ callbacks : [ ] ,
43+ addCallback : function ( callback ) {
44+ this . callbacks . push ( callback ) ;
45+ } ,
46+ executeCallbacks : function ( ) {
47+ var i = 0 ,
48+ len = this . callbacks . length ;
4949
50- for ( i ; i < len ; i = i + 1 ) {
51- if ( this . callbacks [ i ] ) {
52- this . callbacks [ i ] ( ) ;
53- }
54- }
50+ for ( i ; i < len ; i = i + 1 ) {
51+ if ( this . callbacks [ i ] ) {
52+ this . callbacks [ i ] ( ) ;
53+ }
54+ }
5555
56- this . position = 0 ;
57- } ,
58- checkPosition : function ( ev ) {
59- if ( keyCodes [ this . position ] === ev . keyCode ) {
60- if ( this . position + 1 < keyCodes . length ) {
61- this . position = this . position + 1 ;
62- } else {
63- this . executeCallbacks ( ) ;
64- }
65- } else {
66- this . position = 0 ;
67- }
68- }
69- }
56+ this . position = 0 ;
57+ } ,
58+ checkPosition : function ( ev ) {
59+ if ( keyCodes [ this . position ] === ev . keyCode ) {
60+ if ( this . position + 1 < keyCodes . length ) {
61+ this . position = this . position + 1 ;
62+ } else {
63+ this . executeCallbacks ( ) ;
64+ }
65+ } else {
66+ this . position = 0 ;
67+ }
68+ }
69+ }
7070
71- } ( window )
71+ } ) ( window )
0 commit comments