mirror of
https://github.com/zhigang1992/DefinitelyTyped.git
synced 2026-04-21 13:27:15 +08:00
Mousetrap TypeScript definition files
This commit is contained in:
43
mousetrap/mousetrap-tests.ts
Normal file
43
mousetrap/mousetrap-tests.ts
Normal 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
21
mousetrap/mousetrap.d.ts
vendored
Normal 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;
|
||||
Reference in New Issue
Block a user