Sha256: a9bba0bb53e36c04b5011c3e65d31b17134e07145d71bb17cf694f7aa39e3d15
Contents?: true
Size: 1.59 KB
Versions: 7
Compression:
Stored size: 1.59 KB
Contents
/* --- script: Keypress.js description: A wrapper to cross-browser keypress keyboard event implementation. license: MIT-style license. requires: - Core/Element.Event - Core/Event - Event.KeyNames provides: [Element.Events.keypress] ... */ (function() { Element.Events.keypress = { base: 'keydown', onAdd: function(fn) { if (!this.retrieve('keypress:listeners')) { var events = { keypress: function(e) { var event = new Event(e)//$extend({}, e); event.repeat = (event.code == this.retrieve('keypress:code')); event.code = this.retrieve('keypress:code'); event.key = this.retrieve('keypress:key'); event.type = 'keypress'; event.from = 'keypress'; if (event.repeat) this.fireEvent('keypress', event) }.bind(this), keyup: function() { this.eliminate('keypress:code'); this.eliminate('keypress:key'); } } this.store('keypress:listeners', events); for (var type in events) this.addListener(type, events[type]); } }, onRemove: function() { var events = this.retrieve('keypress:listeners'); for (var type in events) this.removeListener(type, events[type]); this.eliminate('keypress:listeners'); }, condition: function(event) { var key = Event.Keys.keyOf(event.code) || event.key; event.repeat = (key == this.retrieve('keypress:key')); this.store('keypress:code', event.code); this.store('keypress:key', key); if (!event.firesKeyPressEvent(event.code)) { event.type = 'keypress'; event.from = 'keypress'; event.key = key; return true; } } }; })();
Version data entries
7 entries across 7 versions & 1 rubygems