Mousetrap TypeScript definition files

This commit is contained in:
Daniel Tar
2013-01-20 15:15:09 +01:00
parent c0f9aadd3d
commit 78de7a570d
2 changed files with 64 additions and 0 deletions

View File

@@ -0,0 +1,43 @@
/// <reference path="../jquery/jquery.d.ts"/>
/// <reference path="mousetrap.d.ts"/>
Mousetrap.bind('4', function() { console.log('4'); });
Mousetrap.bind("?", function() { console.log('show shortcuts!'); });
Mousetrap.bind('esc', function() { console.log('escape'); }, 'keyup');
// combinations
Mousetrap.bind('command+shift+K', function() { console.log('command shift k'); });
// map multiple combinations to the same callback
Mousetrap.bind(['command+k', 'ctrl+k'], function() {
console.log('command k or control k');
// return false to prevent default browser behavior
// and stop event from bubbling
return false;
});
// gmail style sequences
Mousetrap.bind('g i', function() { console.log('go to inbox'); });
Mousetrap.bind('* a', function() { console.log('select all'); });
// konami code!
Mousetrap.bind('up up down down left right left right b a enter', function() {
console.log('konami code');
});
Mousetrap.bind(['ctrl+s', 'meta+s'], (e, combo) => {
if (e.preventDefault) {
e.preventDefault();
} else {
// internet explorer
e.returnValue = false;
}
});
Mousetrap.unbind('?');
Mousetrap.trigger('esc');
Mousetrap.trigger('esc', 'keyup');
Mousetrap.reset();

21
mousetrap/mousetrap.d.ts vendored Normal file
View File

@@ -0,0 +1,21 @@
// Type definitions for Mousetrap
// Project: http://craig.is/killing/mice
// Definitions by: D<>niel Tar https://github.com/qcz
// Definitions: https://github.com/borisyankov/DefinitelyTyped
interface ExtendedKeyboardEvent extends KeyboardEvent {
returnValue: bool; // IE returnValue
}
interface MousetrapStatic {
stopCallback: (e: KeyboardEvent, element: Element, combo: string) => bool;
bind(keys: string, callback: (e: ExtendedKeyboardEvent, combo: string) => any, action?: string): void;
bind(keyArray: string[], callback: (e: ExtendedKeyboardEvent, combo: string) => any, action?: string): void;
unbind(keys: string, action?: string): void;
unbind(keyArray: string[], action?: string): void;
trigger(keys: string, action?: string): void;
reset(): void;
}
var Mousetrap: MousetrapStatic;