UNPKG

@orca-fe/tools

Version:
57 lines (56 loc) 1.64 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.isCopy = isCopy; exports.isCtrlOnly = isCtrlOnly; exports.isCut = isCut; exports.isDelete = isDelete; exports.isMac = isMac; exports.isPaste = isPaste; exports.isShiftOnly = isShiftOnly; exports.isSingleKey = isSingleKey; /** * 是否为mac系统(包含iphone手机) * */ function isMac() { return /macintosh|mac os x/i.test(navigator.userAgent); } function isSingleKey(event) { var metaKey = event.metaKey, ctrlKey = event.ctrlKey, altKey = event.altKey, shiftKey = event.shiftKey; var singleKey = !ctrlKey && !shiftKey && !altKey && !metaKey; return singleKey; } function isShiftOnly(event) { var metaKey = event.metaKey, ctrlKey = event.ctrlKey, altKey = event.altKey, shiftKey = event.shiftKey; var shiftOnly = shiftKey && !ctrlKey && !altKey && !metaKey; return shiftOnly; } function isCtrlOnly(event) { var metaKey = event.metaKey, ctrlKey = event.ctrlKey, altKey = event.altKey, shiftKey = event.shiftKey; var ctrlOnly = !shiftKey && !altKey && (isMac() ? metaKey && !ctrlKey : ctrlKey && !metaKey); return ctrlOnly; } function isCut(event) { var ctrlOnly = isCtrlOnly(event); return ctrlOnly && event.key === 'x'; } function isCopy(event) { var ctrlOnly = isCtrlOnly(event); return ctrlOnly && event.key === 'c'; } function isPaste(event) { var ctrlOnly = isCtrlOnly(event); return ctrlOnly && event.key === 'v'; } function isDelete(event) { var singleKey = isSingleKey(event); return singleKey && event.key === 'Delete' || event.key === 'Backspace' && isMac(); }